{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Base imports"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "from __future__ import print_function, division\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "\n",
    "sns.set()\n",
    "\n",
    "import torch\n",
    "from torch import nn, optim\n",
    "from torch.autograd import Variable\n",
    "from torch.optim import Optimizer\n",
    "\n",
    "\n",
    "import collections\n",
    "import h5py, sys\n",
    "import gzip\n",
    "import os\n",
    "import math\n",
    "\n",
    "\n",
    "try:\n",
    "    import cPickle as pickle\n",
    "except:\n",
    "    import pickle"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Some utility functions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "def mkdir(paths):\n",
    "    if not isinstance(paths, (list, tuple)):\n",
    "        paths = [paths]\n",
    "    for path in paths:\n",
    "        if not os.path.isdir(path):\n",
    "            os.makedirs(path)\n",
    "\n",
    "from __future__ import print_function\n",
    "import torch\n",
    "from torch import nn, optim\n",
    "from torch.autograd import Variable\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import sys\n",
    "\n",
    "suffixes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB']\n",
    "def humansize(nbytes):\n",
    "    i = 0\n",
    "    while nbytes >= 1024 and i < len(suffixes)-1:\n",
    "        nbytes /= 1024.\n",
    "        i += 1\n",
    "    f = ('%.2f' % nbytes)\n",
    "    return '%s%s' % (f, suffixes[i])\n",
    "\n",
    "\n",
    "def get_num_batches(nb_samples, batch_size, roundup=True):\n",
    "    if roundup:\n",
    "        return ((nb_samples + (-nb_samples % batch_size)) / batch_size)  # roundup division\n",
    "    else:\n",
    "        return nb_samples / batch_size\n",
    "\n",
    "def generate_ind_batch(nb_samples, batch_size, random=True, roundup=True):\n",
    "    if random:\n",
    "        ind = np.random.permutation(nb_samples)\n",
    "    else:\n",
    "        ind = range(int(nb_samples))\n",
    "    for i in range(int(get_num_batches(nb_samples, batch_size, roundup))):\n",
    "        yield ind[i * batch_size: (i + 1) * batch_size]\n",
    "\n",
    "def to_variable(var=(), cuda=True, volatile=False):\n",
    "    out = []\n",
    "    for v in var:\n",
    "        if isinstance(v, np.ndarray):\n",
    "            v = torch.from_numpy(v).type(torch.FloatTensor)\n",
    "\n",
    "        if not v.is_cuda and cuda:\n",
    "            v = v.cuda()\n",
    "\n",
    "        if not isinstance(v, Variable):\n",
    "            v = Variable(v, volatile=volatile)\n",
    "\n",
    "        out.append(v)\n",
    "    return out\n",
    "  \n",
    "def cprint(color, text, **kwargs):\n",
    "    if color[0] == '*':\n",
    "        pre_code = '1;'\n",
    "        color = color[1:]\n",
    "    else:\n",
    "        pre_code = ''\n",
    "    code = {\n",
    "        'a': '30',\n",
    "        'r': '31',\n",
    "        'g': '32',\n",
    "        'y': '33',\n",
    "        'b': '34',\n",
    "        'p': '35',\n",
    "        'c': '36',\n",
    "        'w': '37'\n",
    "    }\n",
    "    print(\"\\x1b[%s%sm%s\\x1b[0m\" % (pre_code, code[color], text), **kwargs)\n",
    "    sys.stdout.flush()\n",
    "\n",
    "def shuffle_in_unison_scary(a, b):\n",
    "    rng_state = np.random.get_state()\n",
    "    np.random.shuffle(a)\n",
    "    np.random.set_state(rng_state)\n",
    "    np.random.shuffle(b)\n",
    "    \n",
    "    \n",
    "import torch.utils.data as data\n",
    "from PIL import Image\n",
    "import numpy as np\n",
    "import h5py\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Dataloader functions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "class Datafeed(data.Dataset):\n",
    "\n",
    "    def __init__(self, x_train, y_train, transform=None):\n",
    "        self.x_train = x_train\n",
    "        self.y_train = y_train\n",
    "        self.transform = transform\n",
    "\n",
    "    def __getitem__(self, index):\n",
    "        img = self.x_train[index]\n",
    "        if self.transform is not None:\n",
    "            img = self.transform(img)\n",
    "        return img, self.y_train[index]\n",
    "\n",
    "    def __len__(self):\n",
    "        return len(self.x_train)\n",
    "\n",
    "class DatafeedImage(data.Dataset):\n",
    "    def __init__(self, x_train, y_train, transform=None):\n",
    "        self.x_train = x_train\n",
    "        self.y_train = y_train\n",
    "        self.transform = transform\n",
    "\n",
    "    def __getitem__(self, index):\n",
    "        img = self.x_train[index]\n",
    "        img = Image.fromarray(np.uint8(img))\n",
    "        if self.transform is not None:\n",
    "            img = self.transform(img)\n",
    "        return img, self.y_train[index]\n",
    "\n",
    "    def __len__(self):\n",
    "        return len(self.x_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Base network wrapper"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "import torch.nn.functional as F\n",
    "class BaseNet(object):\n",
    "    def __init__(self):\n",
    "        cprint('c', '\\nNet:')\n",
    "\n",
    "    def get_nb_parameters(self):\n",
    "        return np.sum(p.numel() for p in self.model.parameters())\n",
    "\n",
    "    def set_mode_train(self, train=True):\n",
    "        if train:\n",
    "            self.model.train()\n",
    "        else:\n",
    "            self.model.eval()\n",
    "\n",
    "    def update_lr(self, epoch, gamma=0.99):\n",
    "        self.epoch += 1\n",
    "        if self.schedule is not None:\n",
    "            if len(self.schedule) == 0 or epoch in self.schedule:\n",
    "                self.lr *= gamma\n",
    "                print('learning rate: %f  (%d)\\n' % self.lr, epoch)\n",
    "                for param_group in self.optimizer.param_groups:\n",
    "                    param_group['lr'] = self.lr\n",
    "\n",
    "    def save(self, filename):\n",
    "        cprint('c', 'Writting %s\\n' % filename)\n",
    "        torch.save({\n",
    "            'epoch': self.epoch,\n",
    "            'lr': self.lr,\n",
    "            'model': self.model,\n",
    "            'optimizer': self.optimizer}, filename)\n",
    "\n",
    "    def load(self, filename):\n",
    "        cprint('c', 'Reading %s\\n' % filename)\n",
    "        state_dict = torch.load(filename)\n",
    "        self.epoch = state_dict['epoch']\n",
    "        self.lr = state_dict['lr']\n",
    "        self.model = state_dict['model']\n",
    "        self.optimizer = state_dict['optimizer']\n",
    "        print('  restoring epoch: %d, lr: %f' % (self.epoch, self.lr))\n",
    "        return self.epoch"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Our special classes"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Priors classes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [],
   "source": [
    "class laplace_prior(object):\n",
    "    def __init__(self, mu, b):\n",
    "        self.mu = mu\n",
    "        self.b = b\n",
    "\n",
    "    def loglike(self, x, do_sum=True):\n",
    "        if do_sum:\n",
    "            return (-np.log(2*self.b) - torch.abs(x - self.mu)/self.b).sum()\n",
    "        else:\n",
    "            return (-np.log(2*self.b) - torch.abs(x - self.mu)/self.b)\n",
    "\n",
    "class isotropic_gauss_prior(object):\n",
    "    def __init__(self, mu, sigma):\n",
    "        self.mu = mu\n",
    "        self.sigma = sigma\n",
    "        \n",
    "        self.cte_term = -(0.5)*np.log(2*np.pi)\n",
    "        self.det_sig_term = -np.log(self.sigma)\n",
    "\n",
    "    def loglike(self, x, do_sum=True):\n",
    "        \n",
    "        dist_term = -(0.5)*((x - self.mu)/self.sigma)**2\n",
    "        if do_sum:\n",
    "            return (self.cte_term + self.det_sig_term + dist_term).sum()\n",
    "        else:\n",
    "            return (self.cte_term + self.det_sig_term + dist_term)\n",
    "    \n",
    "\n",
    "# TODO: adapt so can be done without sum\n",
    "class spike_slab_2GMM(object):\n",
    "    def __init__(self, mu1, mu2, sigma1, sigma2, pi):\n",
    "        \n",
    "        self.N1 = isotropic_gauss_prior(mu1, sigma1)\n",
    "        self.N2 = isotropic_gauss_prior(mu2, sigma2)\n",
    "#         self.do_sum = do_sum\n",
    "        \n",
    "        self.pi1 = pi \n",
    "        self.pi2 = (1-pi)\n",
    "\n",
    "    def loglike(self, x, do_sum=True):\n",
    "        \n",
    "        N1_ll = self.N1.loglike(x, do_sum)\n",
    "        N2_ll = self.N2.loglike(x, do_sum)\n",
    "\n",
    "        # Numerical stability trick -> unnormalising logprobs will underflow otherwise\n",
    "        max_loglike = torch.max(N1_ll, N2_ll)\n",
    "            \n",
    "        normalised_like = self.pi1 + torch.exp(N1_ll - max_loglike) + self.pi2 + torch.exp(N2_ll - max_loglike)\n",
    "        loglike = torch.log(normalised_like) + max_loglike\n",
    "    \n",
    "        return loglike\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Weight layers"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "def isnan(tensor):\n",
    "  # Gross: https://github.com/pytorch/pytorch/issues/4767\n",
    "    return (tensor != tensor)\n",
    "\n",
    "def hasnan(tensor):\n",
    "    return isnan(tensor).any()\n",
    "\n",
    "def isotropic_gauss_loglike(x, mu, sigma, do_sum=True):\n",
    "    cte_term = -(0.5)*np.log(2*np.pi)\n",
    "    det_sig_term = -torch.log(sigma)\n",
    "    inner = (x - mu)/sigma\n",
    "    dist_term = -(0.5)*(inner**2)\n",
    "    \n",
    "    if do_sum:\n",
    "        out = (cte_term + det_sig_term + dist_term).sum() # sum over all weights\n",
    "    else:\n",
    "        out = (cte_term + det_sig_term + dist_term)\n",
    "#     print(hasnan(x.data), hasnan(mu.data), hasnan(sigma.data), out)\n",
    "#     if isnan(out) or hasnan(out):\n",
    "#         print('NAaaanNNN')\n",
    "#         print('mu max', mu.max())\n",
    "#         print('mu min', mu.min())\n",
    "#         print('sigma max', sigma.max())\n",
    "#         print('sigma min', sigma.min())\n",
    "#         print('x max', x.max())\n",
    "#         print('x min', x.min())\n",
    "#         print((x - mu).max())\n",
    "#         print((x - mu).min())\n",
    "#         print(hasnan(inner))\n",
    "#         print(dist_term)\n",
    "#         print(hasnan(dist_term))\n",
    "    return out \n",
    "\n",
    "\n",
    "\n",
    "class BayesLinear_Normalq(nn.Module):\n",
    "    def __init__(self, n_in, n_out, prior_class):\n",
    "        super(BayesLinear_Normalq, self).__init__()\n",
    "        self.n_in = n_in\n",
    "        self.n_out = n_out\n",
    "        self.prior = prior_class\n",
    "        \n",
    "        # Learnable parameters\n",
    "        self.W_mu = nn.Parameter(torch.Tensor(self.n_in, self.n_out).uniform_(-0.1, 0.1))\n",
    "        self.W_p = nn.Parameter(torch.Tensor(self.n_in, self.n_out).uniform_(-3, -2))\n",
    "        \n",
    "        self.b_mu = nn.Parameter(torch.Tensor(self.n_out).uniform_(-0.1, 0.1))\n",
    "        self.b_p = nn.Parameter(torch.Tensor(self.n_out).uniform_(-3, -2))\n",
    "        \n",
    "       \n",
    "        self.lpw = 0\n",
    "        self.lqw = 0\n",
    "        \n",
    "                                   \n",
    "    def forward(self, X, sample=False):\n",
    "#         print(self.training)\n",
    "\n",
    "        if not self.training and not sample: # This is just a placeholder function\n",
    "            output = torch.mm(X, self.W_mu) + self.b_mu.expand(X.size()[0], self.n_out)\n",
    "            return output, 0, 0\n",
    "                                       \n",
    "        else:\n",
    "                              \n",
    "            # Tensor.new()  Constructs a new tensor of the same data type as self tensor. \n",
    "            # the same random sample is used for every element in the minibatch\n",
    "            eps_W = Variable(self.W_mu.data.new(self.W_mu.size()).normal_())\n",
    "            eps_b = Variable(self.b_mu.data.new(self.b_mu.size()).normal_())\n",
    "                                       \n",
    "            # sample parameters         \n",
    "            \n",
    "            std_w = 1e-6 + F.softplus(self.W_p, beta=1, threshold=20)\n",
    "            std_b = 1e-6 + F.softplus(self.b_p, beta=1, threshold=20)                      \n",
    "                                   \n",
    "            W = self.W_mu + 1 * std_w * eps_W\n",
    "            b = self.b_mu + 1 * std_b * eps_b          \n",
    "    \n",
    "            \n",
    "            output = torch.mm(X, W) + b.unsqueeze(0).expand(X.shape[0], -1) # (batch_size, n_output)\n",
    "            \n",
    "            lqw = isotropic_gauss_loglike(W, self.W_mu, std_w) + isotropic_gauss_loglike(b, self.b_mu, std_b)\n",
    "            lpw = self.prior.loglike(W) + self.prior.loglike(b)\n",
    "            return output, lqw, lpw\n",
    "\n",
    "            "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Quick weight sampling function for plotting"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "def sample_weights(W_mu, b_mu, W_p, b_p):\n",
    "    \n",
    "    eps_W = W_mu.data.new(W_mu.size()).normal_()\n",
    "    # sample parameters         \n",
    "    std_w = 1e-6 + F.softplus(W_p, beta=1, threshold=20)     \n",
    "    W = W_mu + 1 * std_w * eps_W\n",
    "    \n",
    "    if b_mu is not None:\n",
    "        std_b = 1e-6 + F.softplus(b_p, beta=1, threshold=20)  \n",
    "        eps_b = b_mu.data.new(b_mu.size()).normal_()\n",
    "        b = b_mu + 1 * std_b * eps_b\n",
    "    else:\n",
    "        b = None\n",
    "    \n",
    "    return W, b"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.00033546262790251185\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "print(np.exp(-8))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Our models"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "class bayes_linear_2L(nn.Module):\n",
    "    def __init__(self, input_dim, output_dim):\n",
    "        super(bayes_linear_2L, self).__init__()\n",
    "        \n",
    "        n_hid = 1200\n",
    "#         prior_instance = isotropic_gauss_prior(mu=0, sigma=0.1)\n",
    "        self.prior_instance = spike_slab_2GMM(mu1=0, mu2=0, sigma1=0.1, sigma2=0.0005, pi=0.75)\n",
    "#         self.prior_instance = isotropic_gauss_prior(mu=0, sigma=0.1)\n",
    "        \n",
    "        self.input_dim = input_dim\n",
    "        self.output_dim = output_dim\n",
    "        \n",
    "        self.bfc1 = BayesLinear_Normalq(input_dim, n_hid, self.prior_instance)\n",
    "        self.bfc2 = BayesLinear_Normalq(n_hid, n_hid, self.prior_instance)\n",
    "        self.bfc3 = BayesLinear_Normalq(n_hid, output_dim, self.prior_instance)\n",
    "        \n",
    "        # choose your non linearity\n",
    "        #self.act = nn.Tanh()\n",
    "        #self.act = nn.Sigmoid()\n",
    "        self.act = nn.ReLU(inplace=True)\n",
    "        #self.act = nn.ELU(inplace=True)\n",
    "        #self.act = nn.SELU(inplace=True)\n",
    "\n",
    "    def forward(self, x, sample=False):\n",
    "        \n",
    "        tlqw = 0\n",
    "        tlpw = 0\n",
    "        \n",
    "        x = x.view(-1, self.input_dim) # view(batch_size, input_dim)\n",
    "        # -----------------\n",
    "        x, lqw, lpw = self.bfc1(x, sample)\n",
    "        tlqw = tlqw + lqw\n",
    "        tlpw = tlpw + lpw\n",
    "        # -----------------\n",
    "        x = self.act(x)\n",
    "        # -----------------\n",
    "        x, lqw, lpw = self.bfc2(x, sample)\n",
    "        tlqw = tlqw + lqw\n",
    "        tlpw = tlpw + lpw\n",
    "        # -----------------\n",
    "        x = self.act(x)\n",
    "        # -----------------\n",
    "        y, lqw, lpw = self.bfc3(x, sample)\n",
    "        tlqw = tlqw + lqw\n",
    "        tlpw = tlpw + lpw\n",
    "        \n",
    "        return y, tlqw, tlpw\n",
    "    \n",
    "    def sample_predict(self, x, Nsamples):\n",
    "        \n",
    "        # Just copies type from x, initializes new vector\n",
    "        predictions = x.data.new(Nsamples, x.shape[0], self.output_dim)\n",
    "        tlqw_vec = np.zeros(Nsamples)\n",
    "        tlpw_vec = np.zeros(Nsamples)\n",
    "        \n",
    "        for i in range(Nsamples):\n",
    "            \n",
    "            y, tlqw, tlpw = self.forward(x, sample=True)\n",
    "            predictions[i] = y\n",
    "            tlqw_vec[i] = tlqw\n",
    "            tlpw_vec[i] = tlpw \n",
    "            \n",
    "        return predictions, tlqw_vec, tlpw_vec\n",
    "        "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Network wrapper"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "from __future__ import division\n",
    "import copy\n",
    "\n",
    "class Bayes_Net(BaseNet):\n",
    "    eps = 1e-6\n",
    "\n",
    "    def __init__(self, lr=1e-3, channels_in=3, side_in=28, cuda=True, classes=10, batch_size=128, Nbatches=0):\n",
    "        super(Bayes_Net, self).__init__()\n",
    "        cprint('y', ' Creating Net!! ')\n",
    "        self.lr = lr\n",
    "        self.schedule = None  # [] #[50,200,400,600]\n",
    "        self.cuda = cuda\n",
    "        self.channels_in = channels_in\n",
    "        self.classes = classes\n",
    "        self.batch_size = batch_size\n",
    "        self.Nbatches = Nbatches\n",
    "        self.side_in=side_in\n",
    "        self.create_net()\n",
    "        self.create_opt()\n",
    "        self.epoch = 0\n",
    "\n",
    "        self.test=False\n",
    "\n",
    "    def create_net(self):\n",
    "        torch.manual_seed(42)\n",
    "        if self.cuda:\n",
    "            torch.cuda.manual_seed(42)\n",
    "\n",
    "        self.model = bayes_linear_2L(input_dim=self.channels_in*self.side_in*self.side_in, output_dim=self.classes)\n",
    "        if self.cuda:\n",
    "            self.model.cuda()\n",
    "#             cudnn.benchmark = True\n",
    "\n",
    "        print('    Total params: %.2fM' % (self.get_nb_parameters() / 1000000.0))\n",
    "\n",
    "    def create_opt(self):\n",
    "#         self.optimizer = torch.optim.Adam(self.model.parameters(), lr=self.lr, betas=(0.9, 0.999), eps=1e-08,\n",
    "#                                           weight_decay=0)\n",
    "        self.optimizer = torch.optim.SGD(self.model.parameters(), lr=self.lr, momentum=0)\n",
    "\n",
    "    #         self.optimizer = torch.optim.SGD(self.model.parameters(), lr=self.lr, momentum=0.9)\n",
    "#         self.sched = torch.optim.lr_scheduler.StepLR(self.optimizer, step_size=1, gamma=10, last_epoch=-1)\n",
    "\n",
    "    def fit(self, x, y, samples=1):\n",
    "        x, y = to_variable(var=(x, y.long()), cuda=self.cuda)\n",
    "\n",
    "        self.optimizer.zero_grad()\n",
    "\n",
    "        if samples == 1:\n",
    "            out, tlqw, tlpw = self.model(x)\n",
    "            mlpdw = F.cross_entropy(out, y, reduction='sum')\n",
    "            Edkl = (tlqw - tlpw)/self.Nbatches\n",
    "            \n",
    "        elif samples > 1:\n",
    "            mlpdw_cum = 0\n",
    "            Edkl_cum = 0\n",
    "            \n",
    "            for i in range(samples):\n",
    "                out, tlqw, tlpw = self.model(x, sample=True)\n",
    "                mlpdw_i = F.cross_entropy(out, y, reduction='sum')\n",
    "                Edkl_i = (tlqw - tlpw)/self.Nbatches\n",
    "                mlpdw_cum = mlpdw_cum + mlpdw_i\n",
    "                Edkl_cum = Edkl_cum + Edkl_i \n",
    "            \n",
    "            mlpdw = mlpdw_cum/samples\n",
    "            Edkl = Edkl_cum/samples\n",
    "        \n",
    "        loss = Edkl + mlpdw\n",
    "        loss.backward()\n",
    "        self.optimizer.step()\n",
    "\n",
    "        # out: (batch_size, out_channels, out_caps_dims)\n",
    "        pred = out.data.max(dim=1, keepdim=False)[1]  # get the index of the max log-probability\n",
    "        err = pred.ne(y.data).sum()\n",
    "\n",
    "        return Edkl.data, mlpdw.data, err\n",
    "\n",
    "    def eval(self, x, y, train=False):\n",
    "        x, y = to_variable(var=(x, y.long()), cuda=self.cuda)\n",
    "\n",
    "        out, _, _ = self.model(x)\n",
    "\n",
    "        loss = F.cross_entropy(out, y, reduction='sum')\n",
    "\n",
    "        probs = F.softmax(out, dim=1).data.cpu()\n",
    "\n",
    "        pred = out.data.max(dim=1, keepdim=False)[1]  # get the index of the max log-probability\n",
    "        err = pred.ne(y.data).sum()\n",
    "\n",
    "        return loss.data, err, probs\n",
    "    \n",
    "    def sample_eval(self, x, y, Nsamples, logits=True, train=False):\n",
    "        x, y = to_variable(var=(x, y.long()), cuda=self.cuda)\n",
    "        \n",
    "#         print(x.requires_grad)\n",
    "#         x.requires_grad = False\n",
    "        \n",
    "        out, _, _ = self.model.sample_predict(x, Nsamples)\n",
    "        \n",
    "        if logits:\n",
    "            mean_out = out.mean(dim=0, keepdim=False)\n",
    "            loss = F.cross_entropy(mean_out, y, reduction='sum')\n",
    "            probs = F.softmax(mean_out, dim=1).data.cpu()\n",
    "            \n",
    "        else:\n",
    "            mean_out =  F.softmax(out, dim=2).mean(dim=0, keepdim=False)\n",
    "            probs = mean_out.data.cpu()\n",
    "            \n",
    "            log_mean_probs_out = torch.log(mean_out)\n",
    "            loss = F.nll_loss(log_mean_probs_out, y, reduction='sum')\n",
    "\n",
    "        pred = mean_out.data.max(dim=1, keepdim=False)[1]  # get the index of the max log-probability\n",
    "        err = pred.ne(y.data).sum()\n",
    "\n",
    "        return loss.data, err, probs\n",
    "    \n",
    "    def all_sample_eval(self, x, y, Nsamples):\n",
    "        x, y = to_variable(var=(x, y.long()), cuda=self.cuda)\n",
    "\n",
    "        out, _, _ = self.model.sample_predict(x, Nsamples)\n",
    "        \n",
    "        prob_out =  F.softmax(out, dim=2)\n",
    "        prob_out = prob_out.data\n",
    "\n",
    "        return prob_out\n",
    "    \n",
    "    \n",
    "    def get_weight_samples(self, Nsamples=10):\n",
    "        state_dict = self.model.state_dict()\n",
    "        weight_vec = []\n",
    "        \n",
    "        for i in range(Nsamples):\n",
    "            previous_layer_name = ''\n",
    "            for key in state_dict.keys():\n",
    "                layer_name = key.split('.')[0]\n",
    "                if layer_name != previous_layer_name:\n",
    "                    previous_layer_name = layer_name\n",
    "\n",
    "                    W_mu = state_dict[layer_name+'.W_mu'].data\n",
    "                    W_p = state_dict[layer_name+'.W_p'].data\n",
    "\n",
    "    #                 b_mu = state_dict[layer_name+'.b_mu'].cpu().data\n",
    "    #                 b_p = state_dict[layer_name+'.b_p'].cpu().data\n",
    "\n",
    "                    W, b = sample_weights(W_mu=W_mu, b_mu=None, W_p=W_p, b_p=None)\n",
    "\n",
    "                    for weight in W.cpu().view(-1):\n",
    "                        weight_vec.append(weight)\n",
    "            \n",
    "        return np.array(weight_vec)\n",
    "    \n",
    "    def get_weight_SNR(self, thresh=None):\n",
    "        state_dict = self.model.state_dict()\n",
    "        weight_SNR_vec = []\n",
    "        \n",
    "        if thresh is not None:\n",
    "            mask_dict = {}\n",
    "        \n",
    "        previous_layer_name = ''\n",
    "        for key in state_dict.keys():\n",
    "            layer_name = key.split('.')[0]\n",
    "            if layer_name != previous_layer_name:\n",
    "                previous_layer_name = layer_name\n",
    "\n",
    "                W_mu = state_dict[layer_name+'.W_mu'].data\n",
    "                W_p = state_dict[layer_name+'.W_p'].data\n",
    "                sig_W = 1e-6 + F.softplus(W_p, beta=1, threshold=20)\n",
    "\n",
    "                b_mu = state_dict[layer_name+'.b_mu'].data\n",
    "                b_p = state_dict[layer_name+'.b_p'].data\n",
    "                sig_b = 1e-6 + F.softplus(b_p, beta=1, threshold=20)\n",
    "\n",
    "                W_snr = (torch.abs(W_mu)/sig_W)\n",
    "                b_snr = (torch.abs(b_mu)/sig_b)\n",
    "                \n",
    "                if thresh is not None:\n",
    "                    mask_dict[layer_name+'.W'] = W_snr > thresh\n",
    "                    mask_dict[layer_name+'.b'] = b_snr > thresh\n",
    "                    \n",
    "                else:\n",
    "                \n",
    "                    for weight_SNR in W_snr.cpu().view(-1):\n",
    "                        weight_SNR_vec.append(weight_SNR)\n",
    "\n",
    "                    for weight_SNR in b_snr.cpu().view(-1):\n",
    "                        weight_SNR_vec.append(weight_SNR)\n",
    "        \n",
    "        if thresh is not None:\n",
    "            return mask_dict\n",
    "        else:\n",
    "            return np.array(weight_SNR_vec)\n",
    "    \n",
    "    \n",
    "    def get_weight_KLD(self, Nsamples=20, thresh=None):\n",
    "        state_dict = self.model.state_dict()\n",
    "        weight_KLD_vec = []\n",
    "        \n",
    "        if thresh is not None:\n",
    "            mask_dict = {}\n",
    "        \n",
    "        previous_layer_name = ''\n",
    "        for key in state_dict.keys():\n",
    "            layer_name = key.split('.')[0]\n",
    "            if layer_name != previous_layer_name:\n",
    "                previous_layer_name = layer_name\n",
    "\n",
    "                W_mu = state_dict[layer_name+'.W_mu'].data\n",
    "                W_p = state_dict[layer_name+'.W_p'].data\n",
    "                b_mu = state_dict[layer_name+'.b_mu'].data\n",
    "                b_p = state_dict[layer_name+'.b_p'].data\n",
    "                \n",
    "                std_w = 1e-6 + F.softplus(W_p, beta=1, threshold=20)  \n",
    "                std_b = 1e-6 + F.softplus(b_p, beta=1, threshold=20)\n",
    "\n",
    "                KL_W = W_mu.new(W_mu.size()).zero_()\n",
    "                KL_b = b_mu.new(b_mu.size()).zero_()\n",
    "                for i in range(Nsamples):\n",
    "                    W, b = sample_weights(W_mu=W_mu, b_mu=b_mu, W_p=W_p, b_p=b_p)  \n",
    "                    # Note that this will currently not work with slab and spike prior\n",
    "                    KL_W += isotropic_gauss_loglike(W, W_mu, std_w, do_sum=False) - self.model.prior_instance.loglike(W, do_sum=False)\n",
    "                    KL_b += isotropic_gauss_loglike(b, b_mu, std_b, do_sum=False) - self.model.prior_instance.loglike(b, do_sum=False)\n",
    "\n",
    "                KL_W /= Nsamples\n",
    "                KL_b /= Nsamples\n",
    "                \n",
    "                if thresh is not None:\n",
    "                    mask_dict[layer_name+'.W'] = KL_W > thresh\n",
    "                    mask_dict[layer_name+'.b'] = KL_b > thresh\n",
    "                    \n",
    "                else:\n",
    "\n",
    "                    for weight_KLD in KL_W.cpu().view(-1):\n",
    "                        weight_KLD_vec.append(weight_KLD)\n",
    "\n",
    "                    for weight_KLD in KL_b.cpu().view(-1):\n",
    "                        weight_KLD_vec.append(weight_KLD)\n",
    "        \n",
    "        if thresh is not None:\n",
    "            return mask_dict\n",
    "        else:    \n",
    "            return np.array(weight_KLD_vec)\n",
    "        \n",
    "        \n",
    "    def mask_model(self, Nsamples=0, thresh=0):\n",
    "        '''\n",
    "        Nsamples is used to select SNR (0) or KLD (>0) based masking\n",
    "        '''\n",
    "        original_state_dict = copy.deepcopy(self.model.state_dict())\n",
    "        state_dict = self.model.state_dict()\n",
    "        \n",
    "        if Nsamples == 0:\n",
    "            mask_dict = self.get_weight_SNR(thresh=thresh)\n",
    "        else:\n",
    "            mask_dict = self.get_weight_KLD(Nsamples=Nsamples, thresh=thresh)\n",
    "        \n",
    "        n_unmasked = 0\n",
    "        \n",
    "        previous_layer_name = ''\n",
    "        for key in state_dict.keys():\n",
    "            layer_name = key.split('.')[0]\n",
    "            if layer_name != previous_layer_name:\n",
    "                previous_layer_name = layer_name\n",
    "                \n",
    "                state_dict[layer_name+'.W_mu'][1-mask_dict[layer_name+'.W']] = 0\n",
    "                state_dict[layer_name+'.W_p'][1-mask_dict[layer_name+'.W']] = -1000\n",
    "                \n",
    "                state_dict[layer_name+'.b_mu'][1-mask_dict[layer_name+'.b']] = 0\n",
    "                state_dict[layer_name+'.b_p'][1-mask_dict[layer_name+'.b']] = -1000\n",
    "                \n",
    "                \n",
    "                n_unmasked += mask_dict[layer_name+'.W'].sum()\n",
    "                n_unmasked += mask_dict[layer_name+'.b'].sum()\n",
    "                \n",
    "        return original_state_dict, n_unmasked\n",
    "            \n",
    "    "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "# print(net.model.state_dict()['bfc1.W_mu'].cpu().data)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "# import copy\n",
    "# aaa = copy.deepcopy(net.model)\n",
    "# net.model = aaa"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[36m\n",
      "Data:\u001b[0m\n",
      "\u001b[36m\n",
      "Network:\u001b[0m\n",
      "\u001b[36m\n",
      "Net:\u001b[0m\n",
      "\u001b[33m Creating Net!! \u001b[0m\n"
     ]
    },
    {
     "ename": "KeyboardInterrupt",
     "evalue": "",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mKeyboardInterrupt\u001b[0m                         Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-13-e719206b0cec>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m     65\u001b[0m \u001b[0;31m########################################################################################\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     66\u001b[0m net = Bayes_Net(lr=lr, channels_in=1, side_in=28, cuda=use_cuda, classes=10, batch_size=batch_size,\n\u001b[0;32m---> 67\u001b[0;31m           Nbatches=(NTrainPointsMNIST/batch_size))\n\u001b[0m\u001b[1;32m     68\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     69\u001b[0m \u001b[0mepoch\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m<ipython-input-10-fabd6afefcc8>\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, lr, channels_in, side_in, cuda, classes, batch_size, Nbatches)\u001b[0m\n\u001b[1;32m     16\u001b[0m         \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mNbatches\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mNbatches\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     17\u001b[0m         \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mside_in\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mside_in\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 18\u001b[0;31m         \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcreate_net\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     19\u001b[0m         \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcreate_opt\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     20\u001b[0m         \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mepoch\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m<ipython-input-10-fabd6afefcc8>\u001b[0m in \u001b[0;36mcreate_net\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m     29\u001b[0m         \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmodel\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mbayes_linear_2L\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minput_dim\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mchannels_in\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mside_in\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mside_in\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0moutput_dim\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mclasses\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     30\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcuda\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 31\u001b[0;31m             \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmodel\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcuda\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     32\u001b[0m \u001b[0;31m#             cudnn.benchmark = True\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m     33\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/homes/ja666/anaconda2/lib/python2.7/site-packages/torch/nn/modules/module.pyc\u001b[0m in \u001b[0;36mcuda\u001b[0;34m(self, device)\u001b[0m\n\u001b[1;32m    258\u001b[0m             \u001b[0mModule\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    259\u001b[0m         \"\"\"\n\u001b[0;32m--> 260\u001b[0;31m         \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_apply\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;32mlambda\u001b[0m \u001b[0mt\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcuda\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdevice\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    261\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    262\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0mcpu\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/homes/ja666/anaconda2/lib/python2.7/site-packages/torch/nn/modules/module.pyc\u001b[0m in \u001b[0;36m_apply\u001b[0;34m(self, fn)\u001b[0m\n\u001b[1;32m    185\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0m_apply\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfn\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    186\u001b[0m         \u001b[0;32mfor\u001b[0m \u001b[0mmodule\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mchildren\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 187\u001b[0;31m             \u001b[0mmodule\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_apply\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mfn\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    188\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    189\u001b[0m         \u001b[0;32mfor\u001b[0m \u001b[0mparam\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_parameters\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/homes/ja666/anaconda2/lib/python2.7/site-packages/torch/nn/modules/module.pyc\u001b[0m in \u001b[0;36m_apply\u001b[0;34m(self, fn)\u001b[0m\n\u001b[1;32m    191\u001b[0m                 \u001b[0;31m# Tensors stored in modules are graph leaves, and we don't\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    192\u001b[0m                 \u001b[0;31m# want to create copy nodes, so we have to unpack the data.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 193\u001b[0;31m                 \u001b[0mparam\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mparam\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    194\u001b[0m                 \u001b[0;32mif\u001b[0m \u001b[0mparam\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_grad\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    195\u001b[0m                     \u001b[0mparam\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_grad\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mfn\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mparam\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_grad\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/homes/ja666/anaconda2/lib/python2.7/site-packages/torch/nn/modules/module.pyc\u001b[0m in \u001b[0;36m<lambda>\u001b[0;34m(t)\u001b[0m\n\u001b[1;32m    258\u001b[0m             \u001b[0mModule\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    259\u001b[0m         \"\"\"\n\u001b[0;32m--> 260\u001b[0;31m         \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_apply\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;32mlambda\u001b[0m \u001b[0mt\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcuda\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdevice\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    261\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    262\u001b[0m     \u001b[0;32mdef\u001b[0m \u001b[0mcpu\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mKeyboardInterrupt\u001b[0m: "
     ]
    }
   ],
   "source": [
    "from __future__ import print_function\n",
    "from __future__ import division\n",
    "import time\n",
    "import torch.utils.data\n",
    "from torchvision import transforms, datasets\n",
    "import matplotlib\n",
    "import copy\n",
    "\n",
    "\n",
    "models_dir = 'models_weight_uncertainty_MC_MNIST_GMM'\n",
    "results_dir = 'results_weight_uncertainty_MC_MNIST_GMM'\n",
    "\n",
    "mkdir(models_dir)\n",
    "mkdir(results_dir)\n",
    "# ------------------------------------------------------------------------------------------------------\n",
    "# train config\n",
    "NTrainPointsMNIST = 60000\n",
    "batch_size = 100\n",
    "nb_epochs = 200\n",
    "log_interval = 1\n",
    "\n",
    "savemodel_its = [20, 50, 80, 120]\n",
    "save_dicts = []\n",
    "\n",
    "# ------------------------------------------------------------------------------------------------------\n",
    "# dataset\n",
    "cprint('c', '\\nData:')\n",
    "\n",
    "\n",
    "# load data\n",
    "\n",
    "# data augmentation\n",
    "transform_train = transforms.Compose([\n",
    "    transforms.ToTensor(),\n",
    "    transforms.Normalize(mean=(0.1307,), std=(0.3081,))\n",
    "])\n",
    "\n",
    "transform_test = transforms.Compose([\n",
    "    transforms.ToTensor(),\n",
    "    transforms.Normalize(mean=(0.1307,), std=(0.3081,))\n",
    "])\n",
    "\n",
    "use_cuda = torch.cuda.is_available()\n",
    "\n",
    "trainset = datasets.MNIST(root='../data', train=True, download=True, transform=transform_train)\n",
    "valset = datasets.MNIST(root='../data', train=False, download=True, transform=transform_test)\n",
    "\n",
    "if use_cuda:\n",
    "    trainloader = torch.utils.data.DataLoader(trainset, batch_size=batch_size, shuffle=True, pin_memory=True, num_workers=3)\n",
    "    valloader = torch.utils.data.DataLoader(valset, batch_size=batch_size, shuffle=False, pin_memory=True, num_workers=3)\n",
    "\n",
    "else:\n",
    "    trainloader = torch.utils.data.DataLoader(trainset, batch_size=batch_size, shuffle=True, pin_memory=False,\n",
    "                                              num_workers=3)\n",
    "    valloader = torch.utils.data.DataLoader(valset, batch_size=batch_size, shuffle=False, pin_memory=False,\n",
    "                                            num_workers=3)\n",
    "\n",
    "\n",
    "## ---------------------------------------------------------------------------------------------------------------------\n",
    "# net dims\n",
    "cprint('c', '\\nNetwork:')\n",
    "\n",
    "lr = 1e-3\n",
    "nsamples = 3\n",
    "########################################################################################\n",
    "net = Bayes_Net(lr=lr, channels_in=1, side_in=28, cuda=use_cuda, classes=10, batch_size=batch_size,\n",
    "          Nbatches=(NTrainPointsMNIST/batch_size))\n",
    "\n",
    "epoch = 0\n",
    "\n",
    "## ---------------------------------------------------------------------------------------------------------------------\n",
    "# train\n",
    "cprint('c', '\\nTrain:')\n",
    "\n",
    "print('  init cost variables:')\n",
    "kl_cost_train = np.zeros(nb_epochs)\n",
    "pred_cost_train = np.zeros(nb_epochs)\n",
    "err_train = np.zeros(nb_epochs)\n",
    "\n",
    "cost_dev = np.zeros(nb_epochs)\n",
    "err_dev = np.zeros(nb_epochs)\n",
    "# best_cost = np.inf\n",
    "best_err = np.inf\n",
    "\n",
    "\n",
    "nb_its_dev = 1\n",
    "\n",
    "tic0 = time.time()\n",
    "for i in range(epoch, nb_epochs):\n",
    "    \n",
    "#     if i in [1]:\n",
    "#         print('updating lr')\n",
    "#         net.sched.step()\n",
    "    \n",
    "    net.set_mode_train(True)\n",
    "\n",
    "    tic = time.time()\n",
    "    nb_samples = 0\n",
    "\n",
    "    for x, y in trainloader:\n",
    "        cost_dkl, cost_pred, err = net.fit(x, y, samples=nsamples)\n",
    "\n",
    "        err_train[i] += err\n",
    "        kl_cost_train[i] += cost_dkl\n",
    "        pred_cost_train[i] += cost_pred\n",
    "        nb_samples += len(x)\n",
    "\n",
    "    kl_cost_train[i] /= nb_samples\n",
    "    pred_cost_train[i] /= nb_samples\n",
    "    err_train[i] /= nb_samples\n",
    "\n",
    "    toc = time.time()\n",
    "    net.epoch = i\n",
    "    # ---- print\n",
    "    print(\"it %d/%d, Jtr_KL = %f, Jtr_pred = %f, err = %f, \" % (i, nb_epochs, kl_cost_train[i], pred_cost_train[i], err_train[i]), end=\"\")\n",
    "    cprint('r', '   time: %f seconds\\n' % (toc - tic))\n",
    "\n",
    "    # Save state dict\n",
    "    \n",
    "    if i in savemodel_its:\n",
    "        save_dicts.append(copy.deepcopy(net.model.state_dict()))\n",
    "    \n",
    "    # Reduce variance\n",
    "    if i == 60:\n",
    "        nsamples = 5\n",
    "    \n",
    "    # ---- dev\n",
    "    if i % nb_its_dev == 0:\n",
    "        net.set_mode_train(False)\n",
    "        nb_samples = 0\n",
    "        for j, (x, y) in enumerate(valloader):\n",
    "\n",
    "            cost, err, probs = net.eval(x, y)\n",
    "\n",
    "            cost_dev[i] += cost\n",
    "            err_dev[i] += err\n",
    "            nb_samples += len(x)\n",
    "\n",
    "        cost_dev[i] /= nb_samples\n",
    "        err_dev[i] /= nb_samples\n",
    "\n",
    "        cprint('g', '    Jdev = %f, err = %f\\n' % (cost_dev[i], err_dev[i]))\n",
    "\n",
    "        if err_dev[i] < best_err:\n",
    "            best_err = err_dev[i]\n",
    "            cprint('b', 'best test error')\n",
    "            net.save(models_dir+'/theta_best.dat')\n",
    "\n",
    "toc0 = time.time()\n",
    "runtime_per_it = (toc0 - tic0) / float(nb_epochs)\n",
    "cprint('r', '   average time: %f seconds\\n' % runtime_per_it)\n",
    "\n",
    "net.save(models_dir+'/theta_last.dat')\n",
    "\n",
    "## ---------------------------------------------------------------------------------------------------------------------\n",
    "# results\n",
    "cprint('c', '\\nRESULTS:')\n",
    "nb_parameters = net.get_nb_parameters()\n",
    "best_cost_dev = np.min(cost_dev)\n",
    "best_cost_train = np.min(pred_cost_train)\n",
    "err_dev_min = err_dev[::nb_its_dev].min()\n",
    "\n",
    "print('  cost_dev: %f (cost_train %f)' % (best_cost_dev, best_cost_train))\n",
    "print('  err_dev: %f' % (err_dev_min))\n",
    "print('  nb_parameters: %d (%s)' % (nb_parameters, humansize(nb_parameters)))\n",
    "print('  time_per_it: %fs\\n' % (runtime_per_it))\n",
    "\n",
    "\n",
    "\n",
    "## Save results for plots\n",
    "# np.save('results/test_predictions.npy', test_predictions)\n",
    "np.save(results_dir + '/cost_train.npy', kl_cost_train)\n",
    "np.save(results_dir + '/cost_train.npy', pred_cost_train)\n",
    "np.save(results_dir + '/cost_dev.npy', cost_dev)\n",
    "np.save(results_dir + '/err_train.npy', err_train)\n",
    "np.save(results_dir + '/err_dev.npy', err_dev)\n",
    "\n",
    "## ---------------------------------------------------------------------------------------------------------------------\n",
    "# fig cost vs its\n",
    "\n",
    "textsize = 15\n",
    "marker=5\n",
    "\n",
    "plt.figure(dpi=100)\n",
    "fig, ax1 = plt.subplots()\n",
    "ax1.plot(pred_cost_train, 'r--')\n",
    "ax1.plot(range(0, nb_epochs, nb_its_dev), cost_dev[::nb_its_dev], 'b-')\n",
    "ax1.set_ylabel('Cross Entropy')\n",
    "plt.xlabel('epoch')\n",
    "plt.grid(b=True, which='major', color='k', linestyle='-')\n",
    "plt.grid(b=True, which='minor', color='k', linestyle='--')\n",
    "lgd = plt.legend(['test error', 'train error'], markerscale=marker, prop={'size': textsize, 'weight': 'normal'})\n",
    "ax = plt.gca()\n",
    "plt.title('classification costs')\n",
    "for item in ([ax.title, ax.xaxis.label, ax.yaxis.label] +\n",
    "    ax.get_xticklabels() + ax.get_yticklabels()):\n",
    "    item.set_fontsize(textsize)\n",
    "    item.set_weight('normal')\n",
    "plt.savefig(results_dir + '/cost.png', bbox_extra_artists=(lgd,), bbox_inches='tight')\n",
    "\n",
    "plt.figure()\n",
    "fig, ax1 = plt.subplots()\n",
    "ax1.plot(kl_cost_train, 'r')\n",
    "ax1.set_ylabel('nats?')\n",
    "plt.xlabel('epoch')\n",
    "plt.grid(b=True, which='major', color='k', linestyle='-')\n",
    "plt.grid(b=True, which='minor', color='k', linestyle='--')\n",
    "ax = plt.gca()\n",
    "plt.title('DKL (per sample)')\n",
    "for item in ([ax.title, ax.xaxis.label, ax.yaxis.label] +\n",
    "    ax.get_xticklabels() + ax.get_yticklabels()):\n",
    "    item.set_fontsize(textsize)\n",
    "    item.set_weight('normal')\n",
    "\n",
    "\n",
    "plt.figure(dpi=100)\n",
    "fig2, ax2 = plt.subplots()\n",
    "ax2.set_ylabel('% error')\n",
    "ax2.semilogy(range(0, nb_epochs, nb_its_dev), 100 * err_dev[::nb_its_dev], 'b-')\n",
    "ax2.semilogy(100 * err_train, 'r--')\n",
    "plt.xlabel('epoch')\n",
    "plt.grid(b=True, which='major', color='k', linestyle='-')\n",
    "plt.grid(b=True, which='minor', color='k', linestyle='--')\n",
    "ax2.get_yaxis().set_minor_formatter(matplotlib.ticker.ScalarFormatter())\n",
    "ax2.get_yaxis().set_major_formatter(matplotlib.ticker.ScalarFormatter())\n",
    "lgd = plt.legend(['test error', 'train error'], markerscale=marker, prop={'size': textsize, 'weight': 'normal'})\n",
    "ax = plt.gca()\n",
    "for item in ([ax.title, ax.xaxis.label, ax.yaxis.label] +\n",
    "    ax.get_xticklabels() + ax.get_yticklabels()):\n",
    "    item.set_fontsize(textsize)\n",
    "    item.set_weight('normal')\n",
    "plt.savefig(results_dir + '/err.png',  bbox_extra_artists=(lgd,), box_inches='tight')\n",
    "\n",
    " "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "print('a')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "textsize = 15\n",
    "marker=5\n",
    "\n",
    "plt.figure(dpi=100)\n",
    "fig, ax1 = plt.subplots()\n",
    "ax1.plot(pred_cost_train, 'r--')\n",
    "ax1.plot(range(0, nb_epochs, nb_its_dev), cost_dev[::nb_its_dev], 'b-')\n",
    "ax1.set_ylabel('Cross Entropy')\n",
    "plt.xlabel('epoch')\n",
    "plt.grid(b=True, which='major', color='k', linestyle='-')\n",
    "plt.grid(b=True, which='minor', color='k', linestyle='--')\n",
    "lgd = plt.legend(['test error', 'train error'], markerscale=marker, prop={'size': textsize, 'weight': 'normal'})\n",
    "ax = plt.gca()\n",
    "plt.title('classification costs')\n",
    "for item in ([ax.title, ax.xaxis.label, ax.yaxis.label] +\n",
    "    ax.get_xticklabels() + ax.get_yticklabels()):\n",
    "    item.set_fontsize(textsize)\n",
    "    item.set_weight('normal')\n",
    "plt.savefig(results_dir + '/cost.png', bbox_extra_artists=(lgd,), bbox_inches='tight')\n",
    "\n",
    "plt.figure()\n",
    "fig, ax1 = plt.subplots()\n",
    "ax1.plot(kl_cost_train, 'r')\n",
    "ax1.set_ylabel('nats?')\n",
    "plt.xlabel('epoch')\n",
    "plt.grid(b=True, which='major', color='k', linestyle='-')\n",
    "plt.grid(b=True, which='minor', color='k', linestyle='--')\n",
    "ax = plt.gca()\n",
    "plt.title('DKL (per sample)')\n",
    "for item in ([ax.title, ax.xaxis.label, ax.yaxis.label] +\n",
    "    ax.get_xticklabels() + ax.get_yticklabels()):\n",
    "    item.set_fontsize(textsize)\n",
    "    item.set_weight('normal')\n",
    "\n",
    "\n",
    "plt.figure(dpi=100)\n",
    "fig2, ax2 = plt.subplots()\n",
    "ax2.set_ylabel('% error')\n",
    "ax2.semilogy(range(0, nb_epochs, nb_its_dev), 100 * err_dev[::nb_its_dev], 'b-')\n",
    "ax2.semilogy(100 * err_train, 'r--')\n",
    "plt.xlabel('epoch')\n",
    "plt.grid(b=True, which='major', color='k', linestyle='-')\n",
    "plt.grid(b=True, which='minor', color='k', linestyle='--')\n",
    "ax2.get_yaxis().set_minor_formatter(matplotlib.ticker.ScalarFormatter())\n",
    "ax2.get_yaxis().set_major_formatter(matplotlib.ticker.ScalarFormatter())\n",
    "lgd = plt.legend(['test error', 'train error'], markerscale=marker, prop={'size': textsize, 'weight': 'normal'})\n",
    "ax = plt.gca()\n",
    "for item in ([ax.title, ax.xaxis.label, ax.yaxis.label] +\n",
    "    ax.get_xticklabels() + ax.get_yticklabels()):\n",
    "    item.set_fontsize(textsize)\n",
    "    item.set_weight('normal')\n",
    "plt.savefig(results_dir + '/err.png',  bbox_extra_artists=(lgd,), box_inches='tight')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[36m\n",
      "Data:\u001b[0m\n",
      "\u001b[36m\n",
      "Network:\u001b[0m\n",
      "\u001b[36m\n",
      "Net:\u001b[0m\n",
      "\u001b[33m Creating Net!! \u001b[0m\n",
      "    Total params: 4.79M\n",
      "\u001b[36mReading models_weight_uncertainty_MC_MNIST_GMM/theta_best.dat\n",
      "\u001b[0m\n",
      "  restoring epoch: 187, lr: 0.001000\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/homes/ja666/anaconda2/lib/python2.7/site-packages/ipykernel_launcher.py:7: DeprecationWarning: Calling np.sum(generator) is deprecated, and in the future will give a different result. Use np.sum(np.from_iter(generator)) or the python sum builtin instead.\n",
      "  import sys\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "187"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from __future__ import print_function\n",
    "from __future__ import division\n",
    "import time\n",
    "import torch.utils.data\n",
    "from torchvision import transforms, datasets\n",
    "import matplotlib\n",
    "import copy\n",
    "\n",
    "\n",
    "models_dir = 'models_weight_uncertainty_MC_MNIST_GMM'\n",
    "results_dir = 'results_weight_uncertainty_MC_MNIST_GMM'\n",
    "\n",
    "mkdir(models_dir)\n",
    "mkdir(results_dir)\n",
    "# ------------------------------------------------------------------------------------------------------\n",
    "# train config\n",
    "NTrainPointsMNIST = 60000\n",
    "batch_size = 100\n",
    "nb_epochs = 200\n",
    "log_interval = 1\n",
    "\n",
    "savemodel_its = [20, 50, 80, 120]\n",
    "save_dicts = []\n",
    "\n",
    "# ------------------------------------------------------------------------------------------------------\n",
    "# dataset\n",
    "cprint('c', '\\nData:')\n",
    "\n",
    "\n",
    "# load data\n",
    "\n",
    "# data augmentation\n",
    "transform_train = transforms.Compose([\n",
    "    transforms.ToTensor(),\n",
    "    transforms.Normalize(mean=(0.1307,), std=(0.3081,))\n",
    "])\n",
    "\n",
    "transform_test = transforms.Compose([\n",
    "    transforms.ToTensor(),\n",
    "    transforms.Normalize(mean=(0.1307,), std=(0.3081,))\n",
    "])\n",
    "\n",
    "use_cuda = torch.cuda.is_available()\n",
    "\n",
    "trainset = datasets.MNIST(root='../data', train=True, download=True, transform=transform_train)\n",
    "valset = datasets.MNIST(root='../data', train=False, download=True, transform=transform_test)\n",
    "\n",
    "if use_cuda:\n",
    "    trainloader = torch.utils.data.DataLoader(trainset, batch_size=batch_size, shuffle=True, pin_memory=True, num_workers=3)\n",
    "    valloader = torch.utils.data.DataLoader(valset, batch_size=batch_size, shuffle=False, pin_memory=True, num_workers=3)\n",
    "\n",
    "else:\n",
    "    trainloader = torch.utils.data.DataLoader(trainset, batch_size=batch_size, shuffle=True, pin_memory=False,\n",
    "                                              num_workers=3)\n",
    "    valloader = torch.utils.data.DataLoader(valset, batch_size=batch_size, shuffle=False, pin_memory=False,\n",
    "                                            num_workers=3)\n",
    "\n",
    "\n",
    "## ---------------------------------------------------------------------------------------------------------------------\n",
    "# net dims\n",
    "cprint('c', '\\nNetwork:')\n",
    "\n",
    "lr = 1e-3\n",
    "nsamples = 3\n",
    "########################################################################################\n",
    "net = Bayes_Net(lr=lr, channels_in=1, side_in=28, cuda=use_cuda, classes=10, batch_size=batch_size,\n",
    "          Nbatches=(NTrainPointsMNIST/batch_size))\n",
    "\n",
    "net.load(models_dir+'/theta_best.dat') # theta_last.dat\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## inference with sampling on test set"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[34m    Loglike = -1008.283142, err = 0.023800\n",
      "\u001b[0m\n"
     ]
    }
   ],
   "source": [
    "batch_size = 200\n",
    "\n",
    "if use_cuda:\n",
    "    valloader = torch.utils.data.DataLoader(valset, batch_size=batch_size, shuffle=False, pin_memory=True, num_workers=4)\n",
    "\n",
    "else:\n",
    "    valloader = torch.utils.data.DataLoader(valset, batch_size=batch_size, shuffle=False, pin_memory=False,\n",
    "                                            num_workers=4)\n",
    "test_cost = 0  # Note that these are per sample\n",
    "test_err = 0\n",
    "nb_samples = 0\n",
    "test_predictions = np.zeros((10000, 10))\n",
    "\n",
    "Nsamples = 100\n",
    "\n",
    "net.set_mode_train(False)\n",
    "\n",
    "for j, (x, y) in enumerate(valloader):\n",
    "    cost, err, probs = net.sample_eval(x, y, Nsamples, logits=False) # , logits=True\n",
    "\n",
    "    test_cost += cost\n",
    "    test_err += err.cpu().numpy()\n",
    "    test_predictions[nb_samples:nb_samples+len(x), :] = probs.numpy()\n",
    "    nb_samples += len(x)\n",
    "\n",
    "# test_cost /= nb_samples\n",
    "test_err /= nb_samples\n",
    "cprint('b', '    Loglike = %5.6f, err = %1.6f\\n' % (-test_cost, test_err))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## rotations, Bayesian"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### First load data into numpy format"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(10000, 1, 28, 28)\n",
      "(10000,)\n"
     ]
    }
   ],
   "source": [
    "x_dev = []\n",
    "y_dev = []\n",
    "for x, y in valloader:\n",
    "    x_dev.append(x.cpu().numpy())\n",
    "    y_dev.append(y.cpu().numpy())\n",
    "\n",
    "x_dev = np.concatenate(x_dev)\n",
    "y_dev = np.concatenate(y_dev)\n",
    "print(x_dev.shape)\n",
    "print(y_dev.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Plot for single digit"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(10, 1, 28, 28)\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/homes/ja666/anaconda2/lib/python2.7/site-packages/ipykernel_launcher.py:83: MatplotlibDeprecationWarning: The set_color_cycle function was deprecated in version 1.5. Use `.set_prop_cycle` instead.\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 800x640 with 10 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "## ROTATIONS marginloss percentile distance\n",
    "import matplotlib\n",
    "from torch.autograd import Variable\n",
    "\n",
    "def softmax(x):\n",
    "    \"\"\"Compute softmax values for each sets of scores in x.\"\"\"\n",
    "    e_x = np.exp(x - np.max(x))\n",
    "    return e_x / e_x.sum()\n",
    "        \n",
    "###########################################\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import scipy.ndimage as ndim\n",
    "import matplotlib.colors as mcolors\n",
    "conv = mcolors.ColorConverter().to_rgb\n",
    "\n",
    "#############\n",
    "im_ind = 90\n",
    "Nsamples = 90\n",
    "#############\n",
    "\n",
    "angle = 0\n",
    "plt.figure()\n",
    "plt.imshow( ndim.interpolation.rotate(x_dev[im_ind,0,:,:], 0, reshape=False))\n",
    "plt.title('original image')\n",
    "# plt.savefig('original_digit.png')\n",
    "\n",
    "\n",
    "s_rot = 0\n",
    "end_rot = 179\n",
    "steps = 10\n",
    "rotations = (np.linspace(s_rot, end_rot, steps)).astype(int)            \n",
    "  \n",
    "ims = []\n",
    "predictions = []\n",
    "# percentile_dist_confidence = []\n",
    "x, y = x_dev[im_ind], y_dev[im_ind]\n",
    "\n",
    "fig = plt.figure(figsize=(steps, 8), dpi=80)\n",
    "\n",
    "# DO ROTATIONS ON OUR IMAGE\n",
    "\n",
    "for i in range(len(rotations)):\n",
    "    \n",
    "    angle = rotations[i]\n",
    "    x_rot = np.expand_dims(ndim.interpolation.rotate(x[0, :, :], angle, reshape=False, cval=-0.42421296), 0)\n",
    "    \n",
    "    \n",
    "    ax = fig.add_subplot(3, (steps-1), 2*(steps-1)+i)\n",
    "    ax.imshow(x_rot[0,:,:])\n",
    "    ax.axis('off')\n",
    "    ax.set_xticklabels([])\n",
    "    ax.set_yticklabels([])\n",
    "    ims.append(x_rot[:,:,:])\n",
    "    \n",
    "ims = np.concatenate(ims)\n",
    "net.set_mode_train(False)\n",
    "y = np.ones(ims.shape[0])*y\n",
    "ims = np.expand_dims(ims, axis=1)\n",
    "cost, err, probs = net.sample_eval(torch.from_numpy(ims), torch.from_numpy(y), Nsamples=Nsamples, logits=False) # , logits=True\n",
    "\n",
    "predictions = probs.numpy()\n",
    "    \n",
    "    \n",
    "    \n",
    "textsize = 20\n",
    "lw = 5\n",
    "    \n",
    "print(ims.shape)\n",
    "ims = ims[:,0,:,:]\n",
    "# predictions = np.concatenate(predictions)\n",
    "#print(percentile_dist_confidence)\n",
    "\n",
    "c = ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', '#9467bd',\n",
    "     '#8c564b', '#e377c2', '#7f7f7f', '#bcbd22', '#17becf']  \n",
    "                                         \n",
    "\n",
    "# c = ['#ff0000', '#ffff00', '#00ff00', '#00ffff', '#0000ff',\n",
    "#      '#ff00ff', '#990000', '#999900', '#009900', '#009999']\n",
    "\n",
    "ax0 = plt.subplot2grid((3, steps-1), (0, 0), rowspan=2, colspan=steps-1)\n",
    "#ax0 = fig.add_subplot(2, 1, 1)\n",
    "plt.gca().set_color_cycle(c)\n",
    "ax0.plot(rotations, predictions, linewidth=lw)\n",
    "\n",
    "\n",
    "##########################\n",
    "# Dots at max\n",
    "\n",
    "for i in range(predictions.shape[1]):\n",
    "  \n",
    "    selections = (predictions[:,i] == predictions.max(axis=1))\n",
    "    for n in range(len(selections)):\n",
    "        if selections[n]:\n",
    "            ax0.plot(rotations[n], predictions[n, i], 'o', c=c[i], markersize=15.0)\n",
    "##########################  \n",
    "\n",
    "lgd = ax0.legend(['prob 0', 'prob 1', 'prob 2',\n",
    "            'prob 3', 'prob 4', 'prob 5',\n",
    "            'prob 6', 'prob 7', 'prob 8',\n",
    "            'prob 9'], loc='upper right', prop={'size': textsize, 'weight': 'normal'}, bbox_to_anchor=(1.4,1))\n",
    "plt.xlabel('rotation angle')\n",
    "# plt.ylabel('probability')\n",
    "plt.title('True class: %d, Nsamples %d' % (y[0], Nsamples))\n",
    "# ax0.axis('tight')\n",
    "plt.tight_layout()\n",
    "plt.autoscale(enable=True, axis='x', tight=True)\n",
    "plt.subplots_adjust(wspace=0, hspace=0)\n",
    "\n",
    "for item in ([ax0.title, ax0.xaxis.label, ax0.yaxis.label] +\n",
    "             ax0.get_xticklabels() + ax0.get_yticklabels()):\n",
    "    item.set_fontsize(textsize)\n",
    "    item.set_weight('normal')\n",
    "\n",
    "# plt.savefig('percentile_label_probabilities.png', bbox_extra_artists=(lgd,), bbox_inches='tight')\n",
    "\n",
    "# files.download('percentile_label_probabilities.png')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### All dataset with entropy\n",
    "\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0\n",
      "1\n",
      "2\n",
      "3\n",
      "4\n",
      "5\n",
      "6\n",
      "7\n",
      "8\n",
      "9\n",
      "10\n",
      "11\n",
      "12\n",
      "13\n",
      "14\n",
      "15\n",
      "16\n",
      "17\n",
      "18\n",
      "19\n",
      "20\n",
      "21\n",
      "22\n",
      "23\n",
      "24\n",
      "25\n",
      "26\n",
      "27\n",
      "28\n",
      "29\n",
      "30\n",
      "31\n",
      "32\n",
      "33\n",
      "34\n",
      "35\n",
      "36\n",
      "37\n",
      "38\n",
      "39\n",
      "40\n",
      "41\n",
      "42\n",
      "43\n",
      "44\n",
      "45\n",
      "46\n",
      "47\n",
      "48\n",
      "49\n",
      "50\n",
      "51\n",
      "52\n",
      "53\n",
      "54\n",
      "55\n",
      "56\n",
      "57\n",
      "58\n",
      "59\n",
      "60\n",
      "61\n",
      "62\n",
      "63\n",
      "64\n",
      "65\n",
      "66\n",
      "67\n",
      "68\n",
      "69\n",
      "70\n",
      "71\n",
      "72\n",
      "73\n",
      "74\n",
      "75\n",
      "76\n",
      "77\n",
      "78\n",
      "79\n",
      "80\n",
      "81\n",
      "82\n",
      "83\n",
      "84\n",
      "85\n",
      "86\n",
      "87\n",
      "88\n",
      "89\n",
      "90\n",
      "91\n",
      "92\n",
      "93\n",
      "94\n",
      "95\n",
      "96\n",
      "97\n",
      "98\n",
      "99\n",
      "100\n",
      "101\n",
      "102\n",
      "103\n",
      "104\n",
      "105\n",
      "106\n",
      "107\n",
      "108\n",
      "109\n",
      "110\n",
      "111\n",
      "112\n",
      "113\n",
      "114\n",
      "115\n",
      "116\n",
      "117\n",
      "118\n",
      "119\n",
      "120\n",
      "121\n",
      "122\n",
      "123\n",
      "124\n",
      "125\n",
      "126\n",
      "127\n",
      "128\n",
      "129\n",
      "130\n",
      "131\n",
      "132\n",
      "133\n",
      "134\n",
      "135\n",
      "136\n",
      "137\n",
      "138\n",
      "139\n",
      "140\n",
      "141\n",
      "142\n",
      "143\n",
      "144\n",
      "145\n",
      "146\n",
      "147\n",
      "148\n",
      "149\n",
      "150\n",
      "151\n",
      "152\n",
      "153\n",
      "154\n",
      "155\n",
      "156\n",
      "157\n",
      "158\n",
      "159\n",
      "160\n",
      "161\n",
      "162\n",
      "163\n",
      "164\n",
      "165\n",
      "166\n",
      "167\n",
      "168\n",
      "169\n",
      "170\n",
      "171\n",
      "172\n",
      "173\n",
      "174\n",
      "175\n",
      "176\n",
      "177\n",
      "178\n",
      "179\n",
      "180\n",
      "181\n",
      "182\n",
      "183\n",
      "184\n",
      "185\n",
      "186\n",
      "187\n",
      "188\n",
      "189\n",
      "190\n",
      "191\n",
      "192\n",
      "193\n",
      "194\n",
      "195\n",
      "196\n",
      "197\n",
      "198\n",
      "199\n",
      "200\n",
      "201\n",
      "202\n",
      "203\n",
      "204\n",
      "205\n",
      "206\n",
      "207\n",
      "208\n",
      "209\n",
      "210\n",
      "211\n",
      "212\n",
      "213\n",
      "214\n",
      "215\n",
      "216\n",
      "217\n",
      "218\n",
      "219\n",
      "220\n",
      "221\n",
      "222\n",
      "223\n",
      "224\n",
      "225\n",
      "226\n",
      "227\n",
      "228\n",
      "229\n",
      "230\n",
      "231\n",
      "232\n",
      "233\n",
      "234\n",
      "235\n",
      "236\n",
      "237\n",
      "238\n",
      "239\n",
      "240\n",
      "241\n",
      "242\n",
      "243\n",
      "244\n",
      "245\n",
      "246\n",
      "247\n",
      "248\n",
      "249\n",
      "250\n",
      "251\n",
      "252\n",
      "253\n",
      "254\n",
      "255\n",
      "256\n",
      "257\n",
      "258\n",
      "259\n",
      "260\n",
      "261\n",
      "262\n",
      "263\n",
      "264\n",
      "265\n",
      "266\n",
      "267\n",
      "268\n",
      "269\n",
      "270\n",
      "271\n",
      "272\n",
      "273\n",
      "274\n",
      "275\n",
      "276\n",
      "277\n",
      "278\n",
      "279\n",
      "280\n",
      "281\n",
      "282\n",
      "283\n",
      "284\n",
      "285\n",
      "286\n",
      "287\n",
      "288\n",
      "289\n",
      "290\n",
      "291\n",
      "292\n",
      "293\n",
      "294\n",
      "295\n",
      "296\n",
      "297\n",
      "298\n",
      "299\n",
      "300\n",
      "301\n",
      "302\n",
      "303\n",
      "304\n",
      "305\n",
      "306\n",
      "307\n",
      "308\n",
      "309\n",
      "310\n",
      "311\n",
      "312\n",
      "313\n",
      "314\n",
      "315\n",
      "316\n",
      "317\n",
      "318\n",
      "319\n",
      "320\n",
      "321\n",
      "322\n",
      "323\n",
      "324\n",
      "325\n",
      "326\n",
      "327\n",
      "328\n",
      "329\n",
      "330\n",
      "331\n",
      "332\n",
      "333\n",
      "334\n",
      "335\n",
      "336\n",
      "337\n",
      "338\n",
      "339\n",
      "340\n",
      "341\n",
      "342\n",
      "343\n",
      "344\n",
      "345\n",
      "346\n",
      "347\n",
      "348\n",
      "349\n",
      "350\n",
      "351\n",
      "352\n",
      "353\n",
      "354\n",
      "355\n",
      "356\n",
      "357\n",
      "358\n",
      "359\n",
      "360\n",
      "361\n",
      "362\n",
      "363\n",
      "364\n",
      "365\n",
      "366\n",
      "367\n",
      "368\n",
      "369\n",
      "370\n",
      "371\n",
      "372\n",
      "373\n",
      "374\n",
      "375\n",
      "376\n",
      "377\n",
      "378\n",
      "379\n",
      "380\n",
      "381\n",
      "382\n",
      "383\n",
      "384\n",
      "385\n",
      "386\n",
      "387\n",
      "388\n",
      "389\n",
      "390\n",
      "391\n",
      "392\n",
      "393\n",
      "394\n",
      "395\n",
      "396\n",
      "397\n",
      "398\n",
      "399\n",
      "400\n",
      "401\n",
      "402\n",
      "403\n",
      "404\n",
      "405\n",
      "406\n",
      "407\n",
      "408\n",
      "409\n",
      "410\n",
      "411\n",
      "412\n",
      "413\n",
      "414\n",
      "415\n",
      "416\n",
      "417\n",
      "418\n",
      "419\n",
      "420\n",
      "421\n",
      "422\n",
      "423\n",
      "424\n",
      "425\n",
      "426\n",
      "427\n",
      "428\n",
      "429\n",
      "430\n",
      "431\n",
      "432\n",
      "433\n",
      "434\n",
      "435\n",
      "436\n",
      "437\n",
      "438\n",
      "439\n",
      "440\n",
      "441\n",
      "442\n",
      "443\n",
      "444\n",
      "445\n",
      "446\n",
      "447\n",
      "448\n",
      "449\n",
      "450\n",
      "451\n",
      "452\n",
      "453\n",
      "454\n",
      "455\n",
      "456\n",
      "457\n",
      "458\n",
      "459\n",
      "460\n",
      "461\n",
      "462\n",
      "463\n",
      "464\n",
      "465\n",
      "466\n",
      "467\n",
      "468\n",
      "469\n",
      "470\n",
      "471\n",
      "472\n",
      "473\n",
      "474\n",
      "475\n",
      "476\n",
      "477\n",
      "478\n",
      "479\n",
      "480\n",
      "481\n",
      "482\n",
      "483\n",
      "484\n",
      "485\n",
      "486\n",
      "487\n",
      "488\n",
      "489\n",
      "490\n",
      "491\n",
      "492\n",
      "493\n",
      "494\n",
      "495\n",
      "496\n",
      "497\n",
      "498\n",
      "499\n",
      "500\n",
      "501\n",
      "502\n",
      "503\n",
      "504\n",
      "505\n",
      "506\n",
      "507\n",
      "508\n",
      "509\n",
      "510\n",
      "511\n",
      "512\n",
      "513\n",
      "514\n",
      "515\n",
      "516\n",
      "517\n",
      "518\n",
      "519\n",
      "520\n",
      "521\n",
      "522\n",
      "523\n",
      "524\n",
      "525\n",
      "526\n",
      "527\n",
      "528\n",
      "529\n",
      "530\n",
      "531\n",
      "532\n",
      "533\n",
      "534\n",
      "535\n",
      "536\n",
      "537\n",
      "538\n",
      "539\n",
      "540\n",
      "541\n",
      "542\n",
      "543\n",
      "544\n",
      "545\n",
      "546\n",
      "547\n",
      "548\n",
      "549\n",
      "550\n",
      "551\n",
      "552\n",
      "553\n",
      "554\n",
      "555\n",
      "556\n",
      "557\n",
      "558\n",
      "559\n",
      "560\n",
      "561\n",
      "562\n",
      "563\n",
      "564\n",
      "565\n",
      "566\n",
      "567\n",
      "568\n",
      "569\n",
      "570\n",
      "571\n",
      "572\n",
      "573\n",
      "574\n",
      "575\n",
      "576\n",
      "577\n",
      "578\n",
      "579\n",
      "580\n",
      "581\n",
      "582\n",
      "583\n",
      "584\n",
      "585\n",
      "586\n",
      "587\n",
      "588\n",
      "589\n",
      "590\n",
      "591\n",
      "592\n",
      "593\n",
      "594\n",
      "595\n",
      "596\n",
      "597\n",
      "598\n",
      "599\n",
      "600\n",
      "601\n",
      "602\n",
      "603\n",
      "604\n",
      "605\n",
      "606\n",
      "607\n",
      "608\n",
      "609\n",
      "610\n",
      "611\n",
      "612\n",
      "613\n",
      "614\n",
      "615\n",
      "616\n",
      "617\n",
      "618\n",
      "619\n",
      "620\n",
      "621\n",
      "622\n",
      "623\n",
      "624\n",
      "625\n",
      "626\n",
      "627\n",
      "628\n",
      "629\n",
      "630\n",
      "631\n",
      "632\n",
      "633\n",
      "634\n",
      "635\n",
      "636\n",
      "637\n",
      "638\n",
      "639\n",
      "640\n",
      "641\n",
      "642\n",
      "643\n",
      "644\n",
      "645\n",
      "646\n",
      "647\n",
      "648\n",
      "649\n",
      "650\n",
      "651\n",
      "652\n",
      "653\n",
      "654\n",
      "655\n",
      "656\n",
      "657\n",
      "658\n",
      "659\n",
      "660\n",
      "661\n",
      "662\n",
      "663\n",
      "664\n",
      "665\n",
      "666\n",
      "667\n",
      "668\n",
      "669\n",
      "670\n",
      "671\n",
      "672\n",
      "673\n",
      "674\n",
      "675\n",
      "676\n",
      "677\n",
      "678\n",
      "679\n",
      "680\n",
      "681\n",
      "682\n",
      "683\n",
      "684\n",
      "685\n",
      "686\n",
      "687\n",
      "688\n",
      "689\n",
      "690\n",
      "691\n",
      "692\n",
      "693\n",
      "694\n",
      "695\n",
      "696\n",
      "697\n",
      "698\n",
      "699\n",
      "700\n",
      "701\n",
      "702\n",
      "703\n",
      "704\n",
      "705\n",
      "706\n",
      "707\n",
      "708\n",
      "709\n",
      "710\n",
      "711\n",
      "712\n",
      "713\n",
      "714\n",
      "715\n",
      "716\n",
      "717\n",
      "718\n",
      "719\n",
      "720\n",
      "721\n",
      "722\n",
      "723\n",
      "724\n",
      "725\n",
      "726\n",
      "727\n",
      "728\n",
      "729\n",
      "730\n",
      "731\n",
      "732\n",
      "733\n",
      "734\n",
      "735\n",
      "736\n",
      "737\n",
      "738\n",
      "739\n",
      "740\n",
      "741\n",
      "742\n",
      "743\n",
      "744\n",
      "745\n",
      "746\n",
      "747\n",
      "748\n",
      "749\n",
      "750\n",
      "751\n",
      "752\n",
      "753\n",
      "754\n",
      "755\n",
      "756\n",
      "757\n",
      "758\n",
      "759\n",
      "760\n",
      "761\n",
      "762\n",
      "763\n",
      "764\n",
      "765\n",
      "766\n",
      "767\n",
      "768\n",
      "769\n",
      "770\n",
      "771\n",
      "772\n",
      "773\n",
      "774\n",
      "775\n",
      "776\n",
      "777\n",
      "778\n",
      "779\n",
      "780\n",
      "781\n",
      "782\n",
      "783\n",
      "784\n",
      "785\n",
      "786\n",
      "787\n",
      "788\n",
      "789\n",
      "790\n",
      "791\n",
      "792\n",
      "793\n",
      "794\n",
      "795\n",
      "796\n",
      "797\n",
      "798\n",
      "799\n",
      "800\n",
      "801\n",
      "802\n",
      "803\n",
      "804\n",
      "805\n",
      "806\n",
      "807\n",
      "808\n",
      "809\n",
      "810\n",
      "811\n",
      "812\n",
      "813\n",
      "814\n",
      "815\n",
      "816\n",
      "817\n",
      "818\n",
      "819\n",
      "820\n",
      "821\n",
      "822\n",
      "823\n",
      "824\n",
      "825\n",
      "826\n",
      "827\n",
      "828\n",
      "829\n",
      "830\n",
      "831\n",
      "832\n",
      "833\n",
      "834\n",
      "835\n",
      "836\n",
      "837\n",
      "838\n",
      "839\n",
      "840\n",
      "841\n",
      "842\n",
      "843\n",
      "844\n",
      "845\n",
      "846\n",
      "847\n",
      "848\n",
      "849\n",
      "850\n",
      "851\n",
      "852\n",
      "853\n",
      "854\n",
      "855\n",
      "856\n",
      "857\n",
      "858\n",
      "859\n",
      "860\n",
      "861\n",
      "862\n",
      "863\n",
      "864\n",
      "865\n",
      "866\n",
      "867\n",
      "868\n",
      "869\n",
      "870\n",
      "871\n",
      "872\n",
      "873\n",
      "874\n",
      "875\n",
      "876\n",
      "877\n",
      "878\n",
      "879\n",
      "880\n",
      "881\n",
      "882\n",
      "883\n",
      "884\n",
      "885\n",
      "886\n",
      "887\n",
      "888\n",
      "889\n",
      "890\n",
      "891\n",
      "892\n",
      "893\n",
      "894\n",
      "895\n",
      "896\n",
      "897\n",
      "898\n",
      "899\n",
      "900\n",
      "901\n",
      "902\n",
      "903\n",
      "904\n",
      "905\n",
      "906\n",
      "907\n",
      "908\n",
      "909\n",
      "910\n",
      "911\n",
      "912\n",
      "913\n",
      "914\n",
      "915\n",
      "916\n",
      "917\n",
      "918\n",
      "919\n",
      "920\n",
      "921\n",
      "922\n",
      "923\n",
      "924\n",
      "925\n",
      "926\n",
      "927\n",
      "928\n",
      "929\n",
      "930\n",
      "931\n",
      "932\n",
      "933\n",
      "934\n",
      "935\n",
      "936\n",
      "937\n",
      "938\n",
      "939\n",
      "940\n",
      "941\n",
      "942\n",
      "943\n",
      "944\n",
      "945\n",
      "946\n",
      "947\n",
      "948\n",
      "949\n",
      "950\n",
      "951\n",
      "952\n",
      "953\n",
      "954\n",
      "955\n",
      "956\n",
      "957\n",
      "958\n",
      "959\n",
      "960\n",
      "961\n",
      "962\n",
      "963\n",
      "964\n",
      "965\n",
      "966\n",
      "967\n",
      "968\n",
      "969\n",
      "970\n",
      "971\n",
      "972\n",
      "973\n",
      "974\n",
      "975\n",
      "976\n",
      "977\n",
      "978\n",
      "979\n",
      "980\n",
      "981\n",
      "982\n",
      "983\n",
      "984\n",
      "985\n",
      "986\n",
      "987\n",
      "988\n",
      "989\n",
      "990\n",
      "991\n",
      "992\n",
      "993\n",
      "994\n",
      "995\n",
      "996\n",
      "997\n",
      "998\n",
      "999\n",
      "1000\n",
      "1001\n",
      "1002\n",
      "1003\n",
      "1004\n",
      "1005\n",
      "1006\n",
      "1007\n",
      "1008\n",
      "1009\n",
      "1010\n",
      "1011\n",
      "1012\n",
      "1013\n",
      "1014\n",
      "1015\n",
      "1016\n",
      "1017\n",
      "1018\n",
      "1019\n",
      "1020\n",
      "1021\n",
      "1022\n",
      "1023\n",
      "1024\n",
      "1025\n",
      "1026\n",
      "1027\n",
      "1028\n",
      "1029\n",
      "1030\n",
      "1031\n",
      "1032\n",
      "1033\n",
      "1034\n",
      "1035\n",
      "1036\n",
      "1037\n",
      "1038\n",
      "1039\n",
      "1040\n",
      "1041\n",
      "1042\n",
      "1043\n",
      "1044\n",
      "1045\n",
      "1046\n",
      "1047\n",
      "1048\n",
      "1049\n",
      "1050\n",
      "1051\n",
      "1052\n",
      "1053\n",
      "1054\n",
      "1055\n",
      "1056\n",
      "1057\n",
      "1058\n",
      "1059\n",
      "1060\n",
      "1061\n",
      "1062\n",
      "1063\n",
      "1064\n",
      "1065\n",
      "1066\n",
      "1067\n",
      "1068\n",
      "1069\n",
      "1070\n",
      "1071\n",
      "1072\n",
      "1073\n",
      "1074\n",
      "1075\n",
      "1076\n",
      "1077\n",
      "1078\n",
      "1079\n",
      "1080\n",
      "1081\n",
      "1082\n",
      "1083\n",
      "1084\n",
      "1085\n",
      "1086\n",
      "1087\n",
      "1088\n",
      "1089\n",
      "1090\n",
      "1091\n",
      "1092\n",
      "1093\n",
      "1094\n",
      "1095\n",
      "1096\n",
      "1097\n",
      "1098\n",
      "1099\n",
      "1100\n",
      "1101\n",
      "1102\n",
      "1103\n",
      "1104\n",
      "1105\n",
      "1106\n",
      "1107\n",
      "1108\n",
      "1109\n",
      "1110\n",
      "1111\n",
      "1112\n",
      "1113\n",
      "1114\n",
      "1115\n",
      "1116\n",
      "1117\n",
      "1118\n",
      "1119\n",
      "1120\n",
      "1121\n",
      "1122\n",
      "1123\n",
      "1124\n",
      "1125\n",
      "1126\n",
      "1127\n",
      "1128\n",
      "1129\n",
      "1130\n",
      "1131\n",
      "1132\n",
      "1133\n",
      "1134\n",
      "1135\n",
      "1136\n",
      "1137\n",
      "1138\n",
      "1139\n",
      "1140\n",
      "1141\n",
      "1142\n",
      "1143\n",
      "1144\n",
      "1145\n",
      "1146\n",
      "1147\n",
      "1148\n",
      "1149\n",
      "1150\n",
      "1151\n",
      "1152\n",
      "1153\n",
      "1154\n",
      "1155\n",
      "1156\n",
      "1157\n",
      "1158\n",
      "1159\n",
      "1160\n",
      "1161\n",
      "1162\n",
      "1163\n",
      "1164\n",
      "1165\n",
      "1166\n",
      "1167\n",
      "1168\n",
      "1169\n",
      "1170\n",
      "1171\n",
      "1172\n",
      "1173\n",
      "1174\n",
      "1175\n",
      "1176\n",
      "1177\n",
      "1178\n",
      "1179\n",
      "1180\n",
      "1181\n",
      "1182\n",
      "1183\n",
      "1184\n",
      "1185\n",
      "1186\n",
      "1187\n",
      "1188\n",
      "1189\n",
      "1190\n",
      "1191\n",
      "1192\n",
      "1193\n",
      "1194\n",
      "1195\n",
      "1196\n",
      "1197\n",
      "1198\n",
      "1199\n",
      "1200\n",
      "1201\n",
      "1202\n",
      "1203\n",
      "1204\n",
      "1205\n",
      "1206\n",
      "1207\n",
      "1208\n",
      "1209\n",
      "1210\n",
      "1211\n",
      "1212\n",
      "1213\n",
      "1214\n",
      "1215\n",
      "1216\n",
      "1217\n",
      "1218\n",
      "1219\n",
      "1220\n",
      "1221\n",
      "1222\n",
      "1223\n",
      "1224\n",
      "1225\n",
      "1226\n",
      "1227\n",
      "1228\n",
      "1229\n",
      "1230\n",
      "1231\n",
      "1232\n",
      "1233\n",
      "1234\n",
      "1235\n",
      "1236\n",
      "1237\n",
      "1238\n",
      "1239\n",
      "1240\n",
      "1241\n",
      "1242\n",
      "1243\n",
      "1244\n",
      "1245\n",
      "1246\n",
      "1247\n",
      "1248\n",
      "1249\n",
      "1250\n",
      "1251\n",
      "1252\n",
      "1253\n",
      "1254\n",
      "1255\n",
      "1256\n",
      "1257\n",
      "1258\n",
      "1259\n",
      "1260\n",
      "1261\n",
      "1262\n",
      "1263\n",
      "1264\n",
      "1265\n",
      "1266\n",
      "1267\n",
      "1268\n",
      "1269\n",
      "1270\n",
      "1271\n",
      "1272\n",
      "1273\n",
      "1274\n",
      "1275\n",
      "1276\n",
      "1277\n",
      "1278\n",
      "1279\n",
      "1280\n",
      "1281\n",
      "1282\n",
      "1283\n",
      "1284\n",
      "1285\n",
      "1286\n",
      "1287\n",
      "1288\n",
      "1289\n",
      "1290\n",
      "1291\n",
      "1292\n",
      "1293\n",
      "1294\n",
      "1295\n",
      "1296\n",
      "1297\n",
      "1298\n",
      "1299\n",
      "1300\n",
      "1301\n",
      "1302\n",
      "1303\n",
      "1304\n",
      "1305\n",
      "1306\n",
      "1307\n",
      "1308\n",
      "1309\n",
      "1310\n",
      "1311\n",
      "1312\n",
      "1313\n",
      "1314\n",
      "1315\n",
      "1316\n",
      "1317\n",
      "1318\n",
      "1319\n",
      "1320\n",
      "1321\n",
      "1322\n",
      "1323\n",
      "1324\n",
      "1325\n",
      "1326\n",
      "1327\n",
      "1328\n",
      "1329\n",
      "1330\n",
      "1331\n",
      "1332\n",
      "1333\n",
      "1334\n",
      "1335\n",
      "1336\n",
      "1337\n",
      "1338\n",
      "1339\n",
      "1340\n",
      "1341\n",
      "1342\n",
      "1343\n",
      "1344\n",
      "1345\n",
      "1346\n",
      "1347\n",
      "1348\n",
      "1349\n",
      "1350\n",
      "1351\n",
      "1352\n",
      "1353\n",
      "1354\n",
      "1355\n",
      "1356\n",
      "1357\n",
      "1358\n",
      "1359\n",
      "1360\n",
      "1361\n",
      "1362\n",
      "1363\n",
      "1364\n",
      "1365\n",
      "1366\n",
      "1367\n",
      "1368\n",
      "1369\n",
      "1370\n",
      "1371\n",
      "1372\n",
      "1373\n",
      "1374\n",
      "1375\n",
      "1376\n",
      "1377\n",
      "1378\n",
      "1379\n",
      "1380\n",
      "1381\n",
      "1382\n",
      "1383\n",
      "1384\n",
      "1385\n",
      "1386\n",
      "1387\n",
      "1388\n",
      "1389\n",
      "1390\n",
      "1391\n",
      "1392\n",
      "1393\n",
      "1394\n",
      "1395\n",
      "1396\n",
      "1397\n",
      "1398\n",
      "1399\n",
      "1400\n",
      "1401\n",
      "1402\n",
      "1403\n",
      "1404\n",
      "1405\n",
      "1406\n",
      "1407\n",
      "1408\n",
      "1409\n",
      "1410\n",
      "1411\n",
      "1412\n",
      "1413\n",
      "1414\n",
      "1415\n",
      "1416\n",
      "1417\n",
      "1418\n",
      "1419\n",
      "1420\n",
      "1421\n",
      "1422\n",
      "1423\n",
      "1424\n",
      "1425\n",
      "1426\n",
      "1427\n",
      "1428\n",
      "1429\n",
      "1430\n",
      "1431\n",
      "1432\n",
      "1433\n",
      "1434\n",
      "1435\n",
      "1436\n",
      "1437\n",
      "1438\n",
      "1439\n",
      "1440\n",
      "1441\n",
      "1442\n",
      "1443\n",
      "1444\n",
      "1445\n",
      "1446\n",
      "1447\n",
      "1448\n",
      "1449\n",
      "1450\n",
      "1451\n",
      "1452\n",
      "1453\n",
      "1454\n",
      "1455\n",
      "1456\n",
      "1457\n",
      "1458\n",
      "1459\n",
      "1460\n",
      "1461\n",
      "1462\n",
      "1463\n",
      "1464\n",
      "1465\n",
      "1466\n",
      "1467\n",
      "1468\n",
      "1469\n",
      "1470\n",
      "1471\n",
      "1472\n",
      "1473\n",
      "1474\n",
      "1475\n",
      "1476\n",
      "1477\n",
      "1478\n",
      "1479\n",
      "1480\n",
      "1481\n",
      "1482\n",
      "1483\n",
      "1484\n",
      "1485\n",
      "1486\n",
      "1487\n",
      "1488\n",
      "1489\n",
      "1490\n",
      "1491\n",
      "1492\n",
      "1493\n",
      "1494\n",
      "1495\n",
      "1496\n",
      "1497\n",
      "1498\n",
      "1499\n",
      "1500\n",
      "1501\n",
      "1502\n",
      "1503\n",
      "1504\n",
      "1505\n",
      "1506\n",
      "1507\n",
      "1508\n",
      "1509\n",
      "1510\n",
      "1511\n",
      "1512\n",
      "1513\n",
      "1514\n",
      "1515\n",
      "1516\n",
      "1517\n",
      "1518\n",
      "1519\n",
      "1520\n",
      "1521\n",
      "1522\n",
      "1523\n",
      "1524\n",
      "1525\n",
      "1526\n",
      "1527\n",
      "1528\n",
      "1529\n",
      "1530\n",
      "1531\n",
      "1532\n",
      "1533\n",
      "1534\n",
      "1535\n",
      "1536\n",
      "1537\n",
      "1538\n",
      "1539\n",
      "1540\n",
      "1541\n",
      "1542\n",
      "1543\n",
      "1544\n",
      "1545\n",
      "1546\n",
      "1547\n",
      "1548\n",
      "1549\n",
      "1550\n",
      "1551\n",
      "1552\n",
      "1553\n",
      "1554\n",
      "1555\n",
      "1556\n",
      "1557\n",
      "1558\n",
      "1559\n",
      "1560\n",
      "1561\n",
      "1562\n",
      "1563\n",
      "1564\n",
      "1565\n",
      "1566\n",
      "1567\n",
      "1568\n",
      "1569\n",
      "1570\n",
      "1571\n",
      "1572\n",
      "1573\n",
      "1574\n",
      "1575\n",
      "1576\n",
      "1577\n",
      "1578\n",
      "1579\n",
      "1580\n",
      "1581\n",
      "1582\n",
      "1583\n",
      "1584\n",
      "1585\n",
      "1586\n",
      "1587\n",
      "1588\n",
      "1589\n",
      "1590\n",
      "1591\n",
      "1592\n",
      "1593\n",
      "1594\n",
      "1595\n",
      "1596\n",
      "1597\n",
      "1598\n",
      "1599\n",
      "1600\n",
      "1601\n",
      "1602\n",
      "1603\n",
      "1604\n",
      "1605\n",
      "1606\n",
      "1607\n",
      "1608\n",
      "1609\n",
      "1610\n",
      "1611\n",
      "1612\n",
      "1613\n",
      "1614\n",
      "1615\n",
      "1616\n",
      "1617\n",
      "1618\n",
      "1619\n",
      "1620\n",
      "1621\n",
      "1622\n",
      "1623\n",
      "1624\n",
      "1625\n",
      "1626\n",
      "1627\n",
      "1628\n",
      "1629\n",
      "1630\n",
      "1631\n",
      "1632\n",
      "1633\n",
      "1634\n",
      "1635\n",
      "1636\n",
      "1637\n",
      "1638\n",
      "1639\n",
      "1640\n",
      "1641\n",
      "1642\n",
      "1643\n",
      "1644\n",
      "1645\n",
      "1646\n",
      "1647\n",
      "1648\n",
      "1649\n",
      "1650\n",
      "1651\n",
      "1652\n",
      "1653\n",
      "1654\n",
      "1655\n",
      "1656\n",
      "1657\n",
      "1658\n",
      "1659\n",
      "1660\n",
      "1661\n",
      "1662\n",
      "1663\n",
      "1664\n",
      "1665\n",
      "1666\n",
      "1667\n",
      "1668\n",
      "1669\n",
      "1670\n",
      "1671\n",
      "1672\n",
      "1673\n",
      "1674\n",
      "1675\n",
      "1676\n",
      "1677\n",
      "1678\n",
      "1679\n",
      "1680\n",
      "1681\n",
      "1682\n",
      "1683\n",
      "1684\n",
      "1685\n",
      "1686\n",
      "1687\n",
      "1688\n",
      "1689\n",
      "1690\n",
      "1691\n",
      "1692\n",
      "1693\n",
      "1694\n",
      "1695\n",
      "1696\n",
      "1697\n",
      "1698\n",
      "1699\n",
      "1700\n",
      "1701\n",
      "1702\n",
      "1703\n",
      "1704\n",
      "1705\n",
      "1706\n",
      "1707\n",
      "1708\n",
      "1709\n",
      "1710\n",
      "1711\n",
      "1712\n",
      "1713\n",
      "1714\n",
      "1715\n",
      "1716\n",
      "1717\n",
      "1718\n",
      "1719\n",
      "1720\n",
      "1721\n",
      "1722\n",
      "1723\n",
      "1724\n",
      "1725\n",
      "1726\n",
      "1727\n",
      "1728\n",
      "1729\n",
      "1730\n",
      "1731\n",
      "1732\n",
      "1733\n",
      "1734\n",
      "1735\n",
      "1736\n",
      "1737\n",
      "1738\n",
      "1739\n",
      "1740\n",
      "1741\n",
      "1742\n",
      "1743\n",
      "1744\n",
      "1745\n",
      "1746\n",
      "1747\n",
      "1748\n",
      "1749\n",
      "1750\n",
      "1751\n",
      "1752\n",
      "1753\n",
      "1754\n",
      "1755\n",
      "1756\n",
      "1757\n",
      "1758\n",
      "1759\n",
      "1760\n",
      "1761\n",
      "1762\n",
      "1763\n",
      "1764\n",
      "1765\n",
      "1766\n",
      "1767\n",
      "1768\n",
      "1769\n",
      "1770\n",
      "1771\n",
      "1772\n",
      "1773\n",
      "1774\n",
      "1775\n",
      "1776\n",
      "1777\n",
      "1778\n",
      "1779\n",
      "1780\n",
      "1781\n",
      "1782\n",
      "1783\n",
      "1784\n",
      "1785\n",
      "1786\n",
      "1787\n",
      "1788\n",
      "1789\n",
      "1790\n",
      "1791\n",
      "1792\n",
      "1793\n",
      "1794\n",
      "1795\n",
      "1796\n",
      "1797\n",
      "1798\n",
      "1799\n",
      "1800\n",
      "1801\n",
      "1802\n",
      "1803\n",
      "1804\n",
      "1805\n",
      "1806\n",
      "1807\n",
      "1808\n",
      "1809\n",
      "1810\n",
      "1811\n",
      "1812\n",
      "1813\n",
      "1814\n",
      "1815\n",
      "1816\n",
      "1817\n",
      "1818\n",
      "1819\n",
      "1820\n",
      "1821\n",
      "1822\n",
      "1823\n",
      "1824\n",
      "1825\n",
      "1826\n",
      "1827\n",
      "1828\n",
      "1829\n",
      "1830\n",
      "1831\n",
      "1832\n",
      "1833\n",
      "1834\n",
      "1835\n",
      "1836\n",
      "1837\n",
      "1838\n",
      "1839\n",
      "1840\n",
      "1841\n",
      "1842\n",
      "1843\n",
      "1844\n",
      "1845\n",
      "1846\n",
      "1847\n",
      "1848\n",
      "1849\n",
      "1850\n",
      "1851\n",
      "1852\n",
      "1853\n",
      "1854\n",
      "1855\n",
      "1856\n",
      "1857\n",
      "1858\n",
      "1859\n",
      "1860\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1861\n",
      "1862\n",
      "1863\n",
      "1864\n",
      "1865\n",
      "1866\n",
      "1867\n",
      "1868\n",
      "1869\n",
      "1870\n",
      "1871\n",
      "1872\n",
      "1873\n",
      "1874\n",
      "1875\n",
      "1876\n",
      "1877\n",
      "1878\n",
      "1879\n",
      "1880\n",
      "1881\n",
      "1882\n",
      "1883\n",
      "1884\n",
      "1885\n",
      "1886\n",
      "1887\n",
      "1888\n",
      "1889\n",
      "1890\n",
      "1891\n",
      "1892\n",
      "1893\n",
      "1894\n",
      "1895\n",
      "1896\n",
      "1897\n",
      "1898\n",
      "1899\n",
      "1900\n",
      "1901\n",
      "1902\n",
      "1903\n",
      "1904\n",
      "1905\n",
      "1906\n",
      "1907\n",
      "1908\n",
      "1909\n",
      "1910\n",
      "1911\n",
      "1912\n",
      "1913\n",
      "1914\n",
      "1915\n",
      "1916\n",
      "1917\n",
      "1918\n",
      "1919\n",
      "1920\n",
      "1921\n",
      "1922\n",
      "1923\n",
      "1924\n",
      "1925\n",
      "1926\n",
      "1927\n",
      "1928\n",
      "1929\n",
      "1930\n",
      "1931\n",
      "1932\n",
      "1933\n",
      "1934\n",
      "1935\n",
      "1936\n",
      "1937\n",
      "1938\n",
      "1939\n",
      "1940\n",
      "1941\n",
      "1942\n",
      "1943\n",
      "1944\n",
      "1945\n",
      "1946\n",
      "1947\n",
      "1948\n",
      "1949\n",
      "1950\n",
      "1951\n",
      "1952\n",
      "1953\n",
      "1954\n",
      "1955\n",
      "1956\n",
      "1957\n",
      "1958\n",
      "1959\n",
      "1960\n",
      "1961\n",
      "1962\n",
      "1963\n",
      "1964\n",
      "1965\n",
      "1966\n",
      "1967\n",
      "1968\n",
      "1969\n",
      "1970\n",
      "1971\n",
      "1972\n",
      "1973\n",
      "1974\n",
      "1975\n",
      "1976\n",
      "1977\n",
      "1978\n",
      "1979\n",
      "1980\n",
      "1981\n",
      "1982\n",
      "1983\n",
      "1984\n",
      "1985\n",
      "1986\n",
      "1987\n",
      "1988\n",
      "1989\n",
      "1990\n",
      "1991\n",
      "1992\n",
      "1993\n",
      "1994\n",
      "1995\n",
      "1996\n",
      "1997\n",
      "1998\n",
      "1999\n",
      "2000\n",
      "2001\n",
      "2002\n",
      "2003\n",
      "2004\n",
      "2005\n",
      "2006\n",
      "2007\n",
      "2008\n",
      "2009\n",
      "2010\n",
      "2011\n",
      "2012\n",
      "2013\n",
      "2014\n",
      "2015\n",
      "2016\n",
      "2017\n",
      "2018\n",
      "2019\n",
      "2020\n",
      "2021\n",
      "2022\n",
      "2023\n",
      "2024\n",
      "2025\n",
      "2026\n",
      "2027\n",
      "2028\n",
      "2029\n",
      "2030\n",
      "2031\n",
      "2032\n",
      "2033\n",
      "2034\n",
      "2035\n",
      "2036\n",
      "2037\n",
      "2038\n",
      "2039\n",
      "2040\n",
      "2041\n",
      "2042\n",
      "2043\n",
      "2044\n",
      "2045\n",
      "2046\n",
      "2047\n",
      "2048\n",
      "2049\n",
      "2050\n",
      "2051\n",
      "2052\n",
      "2053\n",
      "2054\n",
      "2055\n",
      "2056\n",
      "2057\n",
      "2058\n",
      "2059\n",
      "2060\n",
      "2061\n",
      "2062\n",
      "2063\n",
      "2064\n",
      "2065\n",
      "2066\n",
      "2067\n",
      "2068\n",
      "2069\n",
      "2070\n",
      "2071\n",
      "2072\n",
      "2073\n",
      "2074\n",
      "2075\n",
      "2076\n",
      "2077\n",
      "2078\n",
      "2079\n",
      "2080\n",
      "2081\n",
      "2082\n",
      "2083\n",
      "2084\n",
      "2085\n",
      "2086\n",
      "2087\n",
      "2088\n",
      "2089\n",
      "2090\n",
      "2091\n",
      "2092\n",
      "2093\n",
      "2094\n",
      "2095\n",
      "2096\n",
      "2097\n",
      "2098\n",
      "2099\n",
      "2100\n",
      "2101\n",
      "2102\n",
      "2103\n",
      "2104\n",
      "2105\n",
      "2106\n",
      "2107\n",
      "2108\n",
      "2109\n",
      "2110\n",
      "2111\n",
      "2112\n",
      "2113\n",
      "2114\n",
      "2115\n",
      "2116\n",
      "2117\n",
      "2118\n",
      "2119\n",
      "2120\n",
      "2121\n",
      "2122\n",
      "2123\n",
      "2124\n",
      "2125\n",
      "2126\n",
      "2127\n",
      "2128\n",
      "2129\n",
      "2130\n",
      "2131\n",
      "2132\n",
      "2133\n",
      "2134\n",
      "2135\n",
      "2136\n",
      "2137\n",
      "2138\n",
      "2139\n",
      "2140\n",
      "2141\n",
      "2142\n",
      "2143\n",
      "2144\n",
      "2145\n",
      "2146\n",
      "2147\n",
      "2148\n",
      "2149\n",
      "2150\n",
      "2151\n",
      "2152\n",
      "2153\n",
      "2154\n",
      "2155\n",
      "2156\n",
      "2157\n",
      "2158\n",
      "2159\n",
      "2160\n",
      "2161\n",
      "2162\n",
      "2163\n",
      "2164\n",
      "2165\n",
      "2166\n",
      "2167\n",
      "2168\n",
      "2169\n",
      "2170\n",
      "2171\n",
      "2172\n",
      "2173\n",
      "2174\n",
      "2175\n",
      "2176\n",
      "2177\n",
      "2178\n",
      "2179\n",
      "2180\n",
      "2181\n",
      "2182\n",
      "2183\n",
      "2184\n",
      "2185\n",
      "2186\n",
      "2187\n",
      "2188\n",
      "2189\n",
      "2190\n",
      "2191\n",
      "2192\n",
      "2193\n",
      "2194\n",
      "2195\n",
      "2196\n",
      "2197\n",
      "2198\n",
      "2199\n",
      "2200\n",
      "2201\n",
      "2202\n",
      "2203\n",
      "2204\n",
      "2205\n",
      "2206\n",
      "2207\n",
      "2208\n",
      "2209\n",
      "2210\n",
      "2211\n",
      "2212\n",
      "2213\n",
      "2214\n",
      "2215\n",
      "2216\n",
      "2217\n",
      "2218\n",
      "2219\n",
      "2220\n",
      "2221\n",
      "2222\n",
      "2223\n",
      "2224\n",
      "2225\n",
      "2226\n",
      "2227\n",
      "2228\n",
      "2229\n",
      "2230\n",
      "2231\n",
      "2232\n",
      "2233\n",
      "2234\n",
      "2235\n",
      "2236\n",
      "2237\n",
      "2238\n",
      "2239\n",
      "2240\n",
      "2241\n",
      "2242\n",
      "2243\n",
      "2244\n",
      "2245\n",
      "2246\n",
      "2247\n",
      "2248\n",
      "2249\n",
      "2250\n",
      "2251\n",
      "2252\n",
      "2253\n",
      "2254\n",
      "2255\n",
      "2256\n",
      "2257\n",
      "2258\n",
      "2259\n",
      "2260\n",
      "2261\n",
      "2262\n",
      "2263\n",
      "2264\n",
      "2265\n",
      "2266\n",
      "2267\n",
      "2268\n",
      "2269\n",
      "2270\n",
      "2271\n",
      "2272\n",
      "2273\n",
      "2274\n",
      "2275\n",
      "2276\n",
      "2277\n",
      "2278\n",
      "2279\n",
      "2280\n",
      "2281\n",
      "2282\n",
      "2283\n",
      "2284\n",
      "2285\n",
      "2286\n",
      "2287\n",
      "2288\n",
      "2289\n",
      "2290\n",
      "2291\n",
      "2292\n",
      "2293\n",
      "2294\n",
      "2295\n",
      "2296\n",
      "2297\n",
      "2298\n",
      "2299\n",
      "2300\n",
      "2301\n",
      "2302\n",
      "2303\n",
      "2304\n",
      "2305\n",
      "2306\n",
      "2307\n",
      "2308\n",
      "2309\n",
      "2310\n",
      "2311\n",
      "2312\n",
      "2313\n",
      "2314\n",
      "2315\n",
      "2316\n",
      "2317\n",
      "2318\n",
      "2319\n",
      "2320\n",
      "2321\n",
      "2322\n",
      "2323\n",
      "2324\n",
      "2325\n",
      "2326\n",
      "2327\n",
      "2328\n",
      "2329\n",
      "2330\n",
      "2331\n",
      "2332\n",
      "2333\n",
      "2334\n",
      "2335\n",
      "2336\n",
      "2337\n",
      "2338\n",
      "2339\n",
      "2340\n",
      "2341\n",
      "2342\n",
      "2343\n",
      "2344\n",
      "2345\n",
      "2346\n",
      "2347\n",
      "2348\n",
      "2349\n",
      "2350\n",
      "2351\n",
      "2352\n",
      "2353\n",
      "2354\n",
      "2355\n",
      "2356\n",
      "2357\n",
      "2358\n",
      "2359\n",
      "2360\n",
      "2361\n",
      "2362\n",
      "2363\n",
      "2364\n",
      "2365\n",
      "2366\n",
      "2367\n",
      "2368\n",
      "2369\n",
      "2370\n",
      "2371\n",
      "2372\n",
      "2373\n",
      "2374\n",
      "2375\n",
      "2376\n",
      "2377\n",
      "2378\n",
      "2379\n",
      "2380\n",
      "2381\n",
      "2382\n",
      "2383\n",
      "2384\n",
      "2385\n",
      "2386\n",
      "2387\n",
      "2388\n",
      "2389\n",
      "2390\n",
      "2391\n",
      "2392\n",
      "2393\n",
      "2394\n",
      "2395\n",
      "2396\n",
      "2397\n",
      "2398\n",
      "2399\n",
      "2400\n",
      "2401\n",
      "2402\n",
      "2403\n",
      "2404\n",
      "2405\n",
      "2406\n",
      "2407\n",
      "2408\n",
      "2409\n",
      "2410\n",
      "2411\n",
      "2412\n",
      "2413\n",
      "2414\n",
      "2415\n",
      "2416\n",
      "2417\n",
      "2418\n",
      "2419\n",
      "2420\n",
      "2421\n",
      "2422\n",
      "2423\n",
      "2424\n",
      "2425\n",
      "2426\n",
      "2427\n",
      "2428\n",
      "2429\n",
      "2430\n",
      "2431\n",
      "2432\n",
      "2433\n",
      "2434\n",
      "2435\n",
      "2436\n",
      "2437\n",
      "2438\n",
      "2439\n",
      "2440\n",
      "2441\n",
      "2442\n",
      "2443\n",
      "2444\n",
      "2445\n",
      "2446\n",
      "2447\n",
      "2448\n",
      "2449\n",
      "2450\n",
      "2451\n",
      "2452\n",
      "2453\n",
      "2454\n",
      "2455\n",
      "2456\n",
      "2457\n",
      "2458\n",
      "2459\n",
      "2460\n",
      "2461\n",
      "2462\n",
      "2463\n",
      "2464\n",
      "2465\n",
      "2466\n",
      "2467\n",
      "2468\n",
      "2469\n",
      "2470\n",
      "2471\n",
      "2472\n",
      "2473\n",
      "2474\n",
      "2475\n",
      "2476\n",
      "2477\n",
      "2478\n",
      "2479\n",
      "2480\n",
      "2481\n",
      "2482\n",
      "2483\n",
      "2484\n",
      "2485\n",
      "2486\n",
      "2487\n",
      "2488\n",
      "2489\n",
      "2490\n",
      "2491\n",
      "2492\n",
      "2493\n",
      "2494\n",
      "2495\n",
      "2496\n",
      "2497\n",
      "2498\n",
      "2499\n",
      "2500\n",
      "2501\n",
      "2502\n",
      "2503\n",
      "2504\n",
      "2505\n",
      "2506\n",
      "2507\n",
      "2508\n",
      "2509\n",
      "2510\n",
      "2511\n",
      "2512\n",
      "2513\n",
      "2514\n",
      "2515\n",
      "2516\n",
      "2517\n",
      "2518\n",
      "2519\n",
      "2520\n",
      "2521\n",
      "2522\n",
      "2523\n",
      "2524\n",
      "2525\n",
      "2526\n",
      "2527\n",
      "2528\n",
      "2529\n",
      "2530\n",
      "2531\n",
      "2532\n",
      "2533\n",
      "2534\n",
      "2535\n",
      "2536\n",
      "2537\n",
      "2538\n",
      "2539\n",
      "2540\n",
      "2541\n",
      "2542\n",
      "2543\n",
      "2544\n",
      "2545\n",
      "2546\n",
      "2547\n",
      "2548\n",
      "2549\n",
      "2550\n",
      "2551\n",
      "2552\n",
      "2553\n",
      "2554\n",
      "2555\n",
      "2556\n",
      "2557\n",
      "2558\n",
      "2559\n",
      "2560\n",
      "2561\n",
      "2562\n",
      "2563\n",
      "2564\n",
      "2565\n",
      "2566\n",
      "2567\n",
      "2568\n",
      "2569\n",
      "2570\n",
      "2571\n",
      "2572\n",
      "2573\n",
      "2574\n",
      "2575\n",
      "2576\n",
      "2577\n",
      "2578\n",
      "2579\n",
      "2580\n",
      "2581\n",
      "2582\n",
      "2583\n",
      "2584\n",
      "2585\n",
      "2586\n",
      "2587\n",
      "2588\n",
      "2589\n",
      "2590\n",
      "2591\n",
      "2592\n",
      "2593\n",
      "2594\n",
      "2595\n",
      "2596\n",
      "2597\n",
      "2598\n",
      "2599\n",
      "2600\n",
      "2601\n",
      "2602\n",
      "2603\n",
      "2604\n",
      "2605\n",
      "2606\n",
      "2607\n",
      "2608\n",
      "2609\n",
      "2610\n",
      "2611\n",
      "2612\n",
      "2613\n",
      "2614\n",
      "2615\n",
      "2616\n",
      "2617\n",
      "2618\n",
      "2619\n",
      "2620\n",
      "2621\n",
      "2622\n",
      "2623\n",
      "2624\n",
      "2625\n",
      "2626\n",
      "2627\n",
      "2628\n",
      "2629\n",
      "2630\n",
      "2631\n",
      "2632\n",
      "2633\n",
      "2634\n",
      "2635\n",
      "2636\n",
      "2637\n",
      "2638\n",
      "2639\n",
      "2640\n",
      "2641\n",
      "2642\n",
      "2643\n",
      "2644\n",
      "2645\n",
      "2646\n",
      "2647\n",
      "2648\n",
      "2649\n",
      "2650\n",
      "2651\n",
      "2652\n",
      "2653\n",
      "2654\n",
      "2655\n",
      "2656\n",
      "2657\n",
      "2658\n",
      "2659\n",
      "2660\n",
      "2661\n",
      "2662\n",
      "2663\n",
      "2664\n",
      "2665\n",
      "2666\n",
      "2667\n",
      "2668\n",
      "2669\n",
      "2670\n",
      "2671\n",
      "2672\n",
      "2673\n",
      "2674\n",
      "2675\n",
      "2676\n",
      "2677\n",
      "2678\n",
      "2679\n",
      "2680\n",
      "2681\n",
      "2682\n",
      "2683\n",
      "2684\n",
      "2685\n",
      "2686\n",
      "2687\n",
      "2688\n",
      "2689\n",
      "2690\n",
      "2691\n",
      "2692\n",
      "2693\n",
      "2694\n",
      "2695\n",
      "2696\n",
      "2697\n",
      "2698\n",
      "2699\n",
      "2700\n",
      "2701\n",
      "2702\n",
      "2703\n",
      "2704\n",
      "2705\n",
      "2706\n",
      "2707\n",
      "2708\n",
      "2709\n",
      "2710\n",
      "2711\n",
      "2712\n",
      "2713\n",
      "2714\n",
      "2715\n",
      "2716\n",
      "2717\n",
      "2718\n",
      "2719\n",
      "2720\n",
      "2721\n",
      "2722\n",
      "2723\n",
      "2724\n",
      "2725\n",
      "2726\n",
      "2727\n",
      "2728\n",
      "2729\n",
      "2730\n",
      "2731\n",
      "2732\n",
      "2733\n",
      "2734\n",
      "2735\n",
      "2736\n",
      "2737\n",
      "2738\n",
      "2739\n",
      "2740\n",
      "2741\n",
      "2742\n",
      "2743\n",
      "2744\n",
      "2745\n",
      "2746\n",
      "2747\n",
      "2748\n",
      "2749\n",
      "2750\n",
      "2751\n",
      "2752\n",
      "2753\n",
      "2754\n",
      "2755\n",
      "2756\n",
      "2757\n",
      "2758\n",
      "2759\n",
      "2760\n",
      "2761\n",
      "2762\n",
      "2763\n",
      "2764\n",
      "2765\n",
      "2766\n",
      "2767\n",
      "2768\n",
      "2769\n",
      "2770\n",
      "2771\n",
      "2772\n",
      "2773\n",
      "2774\n",
      "2775\n",
      "2776\n",
      "2777\n",
      "2778\n",
      "2779\n",
      "2780\n",
      "2781\n",
      "2782\n",
      "2783\n",
      "2784\n",
      "2785\n",
      "2786\n",
      "2787\n",
      "2788\n",
      "2789\n",
      "2790\n",
      "2791\n",
      "2792\n",
      "2793\n",
      "2794\n",
      "2795\n",
      "2796\n",
      "2797\n",
      "2798\n",
      "2799\n",
      "2800\n",
      "2801\n",
      "2802\n",
      "2803\n",
      "2804\n",
      "2805\n",
      "2806\n",
      "2807\n",
      "2808\n",
      "2809\n",
      "2810\n",
      "2811\n",
      "2812\n",
      "2813\n",
      "2814\n",
      "2815\n",
      "2816\n",
      "2817\n",
      "2818\n",
      "2819\n",
      "2820\n",
      "2821\n",
      "2822\n",
      "2823\n",
      "2824\n",
      "2825\n",
      "2826\n",
      "2827\n",
      "2828\n",
      "2829\n",
      "2830\n",
      "2831\n",
      "2832\n",
      "2833\n",
      "2834\n",
      "2835\n",
      "2836\n",
      "2837\n",
      "2838\n",
      "2839\n",
      "2840\n",
      "2841\n",
      "2842\n",
      "2843\n",
      "2844\n",
      "2845\n",
      "2846\n",
      "2847\n",
      "2848\n",
      "2849\n",
      "2850\n",
      "2851\n",
      "2852\n",
      "2853\n",
      "2854\n",
      "2855\n",
      "2856\n",
      "2857\n",
      "2858\n",
      "2859\n",
      "2860\n",
      "2861\n",
      "2862\n",
      "2863\n",
      "2864\n",
      "2865\n",
      "2866\n",
      "2867\n",
      "2868\n",
      "2869\n",
      "2870\n",
      "2871\n",
      "2872\n",
      "2873\n",
      "2874\n",
      "2875\n",
      "2876\n",
      "2877\n",
      "2878\n",
      "2879\n",
      "2880\n",
      "2881\n",
      "2882\n",
      "2883\n",
      "2884\n",
      "2885\n",
      "2886\n",
      "2887\n",
      "2888\n",
      "2889\n",
      "2890\n",
      "2891\n",
      "2892\n",
      "2893\n",
      "2894\n",
      "2895\n",
      "2896\n",
      "2897\n",
      "2898\n",
      "2899\n",
      "2900\n",
      "2901\n",
      "2902\n",
      "2903\n",
      "2904\n",
      "2905\n",
      "2906\n",
      "2907\n",
      "2908\n",
      "2909\n",
      "2910\n",
      "2911\n",
      "2912\n",
      "2913\n",
      "2914\n",
      "2915\n",
      "2916\n",
      "2917\n",
      "2918\n",
      "2919\n",
      "2920\n",
      "2921\n",
      "2922\n",
      "2923\n",
      "2924\n",
      "2925\n",
      "2926\n",
      "2927\n",
      "2928\n",
      "2929\n",
      "2930\n",
      "2931\n",
      "2932\n",
      "2933\n",
      "2934\n",
      "2935\n",
      "2936\n",
      "2937\n",
      "2938\n",
      "2939\n",
      "2940\n",
      "2941\n",
      "2942\n",
      "2943\n",
      "2944\n",
      "2945\n",
      "2946\n",
      "2947\n",
      "2948\n",
      "2949\n",
      "2950\n",
      "2951\n",
      "2952\n",
      "2953\n",
      "2954\n",
      "2955\n",
      "2956\n",
      "2957\n",
      "2958\n",
      "2959\n",
      "2960\n",
      "2961\n",
      "2962\n",
      "2963\n",
      "2964\n",
      "2965\n",
      "2966\n",
      "2967\n",
      "2968\n",
      "2969\n",
      "2970\n",
      "2971\n",
      "2972\n",
      "2973\n",
      "2974\n",
      "2975\n",
      "2976\n",
      "2977\n",
      "2978\n",
      "2979\n",
      "2980\n",
      "2981\n",
      "2982\n",
      "2983\n",
      "2984\n",
      "2985\n",
      "2986\n",
      "2987\n",
      "2988\n",
      "2989\n",
      "2990\n",
      "2991\n",
      "2992\n",
      "2993\n",
      "2994\n",
      "2995\n",
      "2996\n",
      "2997\n",
      "2998\n",
      "2999\n",
      "3000\n",
      "3001\n",
      "3002\n",
      "3003\n",
      "3004\n",
      "3005\n",
      "3006\n",
      "3007\n",
      "3008\n",
      "3009\n",
      "3010\n",
      "3011\n",
      "3012\n",
      "3013\n",
      "3014\n",
      "3015\n",
      "3016\n",
      "3017\n",
      "3018\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "IOPub message rate exceeded.\n",
      "The notebook server will temporarily stop sending output\n",
      "to the client in order to avoid crashing it.\n",
      "To change this limit, set the config variable\n",
      "`--NotebookApp.iopub_msg_rate_limit`.\n",
      "\n",
      "Current values:\n",
      "NotebookApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n",
      "NotebookApp.rate_limit_window=3.0 (secs)\n",
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "5468\n",
      "5469\n",
      "5470\n",
      "5471\n",
      "5472\n",
      "5473\n",
      "5474\n",
      "5475\n",
      "5476\n",
      "5477\n",
      "5478\n",
      "5479\n",
      "5480\n",
      "5481\n",
      "5482\n",
      "5483\n",
      "5484\n",
      "5485\n",
      "5486\n",
      "5487\n",
      "5488\n",
      "5489\n",
      "5490\n",
      "5491\n",
      "5492\n",
      "5493\n",
      "5494\n",
      "5495\n",
      "5496\n",
      "5497\n",
      "5498\n",
      "5499\n",
      "5500\n",
      "5501\n",
      "5502\n",
      "5503\n",
      "5504\n",
      "5505\n",
      "5506\n",
      "5507\n",
      "5508\n",
      "5509\n",
      "5510\n",
      "5511\n",
      "5512\n",
      "5513\n",
      "5514\n",
      "5515\n",
      "5516\n",
      "5517\n",
      "5518\n",
      "5519\n",
      "5520\n",
      "5521\n",
      "5522\n",
      "5523\n",
      "5524\n",
      "5525\n",
      "5526\n",
      "5527\n",
      "5528\n",
      "5529\n",
      "5530\n",
      "5531\n",
      "5532\n",
      "5533\n",
      "5534\n",
      "5535\n",
      "5536\n",
      "5537\n",
      "5538\n",
      "5539\n",
      "5540\n",
      "5541\n",
      "5542\n",
      "5543\n",
      "5544\n",
      "5545\n",
      "5546\n",
      "5547\n",
      "5548\n",
      "5549\n",
      "5550\n",
      "5551\n",
      "5552\n",
      "5553\n",
      "5554\n",
      "5555\n",
      "5556\n",
      "5557\n",
      "5558\n",
      "5559\n",
      "5560\n",
      "5561\n",
      "5562\n",
      "5563\n",
      "5564\n",
      "5565\n",
      "5566\n",
      "5567\n",
      "5568\n",
      "5569\n",
      "5570\n",
      "5571\n",
      "5572\n",
      "5573\n",
      "5574\n",
      "5575\n",
      "5576\n",
      "5577\n",
      "5578\n",
      "5579\n",
      "5580\n",
      "5581\n",
      "5582\n",
      "5583\n",
      "5584\n",
      "5585\n",
      "5586\n",
      "5587\n",
      "5588\n",
      "5589\n",
      "5590\n",
      "5591\n",
      "5592\n",
      "5593\n",
      "5594\n",
      "5595\n",
      "5596\n",
      "5597\n",
      "5598\n",
      "5599\n",
      "5600\n",
      "5601\n",
      "5602\n",
      "5603\n",
      "5604\n",
      "5605\n",
      "5606\n",
      "5607\n",
      "5608\n",
      "5609\n",
      "5610\n",
      "5611\n",
      "5612\n",
      "5613\n",
      "5614\n",
      "5615\n",
      "5616\n",
      "5617\n",
      "5618\n",
      "5619\n",
      "5620\n",
      "5621\n",
      "5622\n",
      "5623\n",
      "5624\n",
      "5625\n",
      "5626\n",
      "5627\n",
      "5628\n",
      "5629\n",
      "5630\n",
      "5631\n",
      "5632\n",
      "5633\n",
      "5634\n",
      "5635\n",
      "5636\n",
      "5637\n",
      "5638\n",
      "5639\n",
      "5640\n",
      "5641\n",
      "5642\n",
      "5643\n",
      "5644\n",
      "5645\n",
      "5646\n",
      "5647\n",
      "5648\n",
      "5649\n",
      "5650\n",
      "5651\n",
      "5652\n",
      "5653\n",
      "5654\n",
      "5655\n",
      "5656\n",
      "5657\n",
      "5658\n",
      "5659\n",
      "5660\n",
      "5661\n",
      "5662\n",
      "5663\n",
      "5664\n",
      "5665\n",
      "5666\n",
      "5667\n",
      "5668\n",
      "5669\n",
      "5670\n",
      "5671\n",
      "5672\n",
      "5673\n",
      "5674\n",
      "5675\n",
      "5676\n",
      "5677\n",
      "5678\n",
      "5679\n",
      "5680\n",
      "5681\n",
      "5682\n",
      "5683\n",
      "5684\n",
      "5685\n",
      "5686\n",
      "5687\n",
      "5688\n",
      "5689\n",
      "5690\n",
      "5691\n",
      "5692\n",
      "5693\n",
      "5694\n",
      "5695\n",
      "5696\n",
      "5697\n",
      "5698\n",
      "5699\n",
      "5700\n",
      "5701\n",
      "5702\n",
      "5703\n",
      "5704\n",
      "5705\n",
      "5706\n",
      "5707\n",
      "5708\n",
      "5709\n",
      "5710\n",
      "5711\n",
      "5712\n",
      "5713\n",
      "5714\n",
      "5715\n",
      "5716\n",
      "5717\n",
      "5718\n",
      "5719\n",
      "5720\n",
      "5721\n",
      "5722\n",
      "5723\n",
      "5724\n",
      "5725\n",
      "5726\n",
      "5727\n",
      "5728\n",
      "5729\n",
      "5730\n",
      "5731\n",
      "5732\n",
      "5733\n",
      "5734\n",
      "5735\n",
      "5736\n",
      "5737\n",
      "5738\n",
      "5739\n",
      "5740\n",
      "5741\n",
      "5742\n",
      "5743\n",
      "5744\n",
      "5745\n",
      "5746\n",
      "5747\n",
      "5748\n",
      "5749\n",
      "5750\n",
      "5751\n",
      "5752\n",
      "5753\n",
      "5754\n",
      "5755\n",
      "5756\n",
      "5757\n",
      "5758\n",
      "5759\n",
      "5760\n",
      "5761\n",
      "5762\n",
      "5763\n",
      "5764\n",
      "5765\n",
      "5766\n",
      "5767\n",
      "5768\n",
      "5769\n",
      "5770\n",
      "5771\n",
      "5772\n",
      "5773\n",
      "5774\n",
      "5775\n",
      "5776\n",
      "5777\n",
      "5778\n",
      "5779\n",
      "5780\n",
      "5781\n",
      "5782\n",
      "5783\n",
      "5784\n",
      "5785\n",
      "5786\n",
      "5787\n",
      "5788\n",
      "5789\n",
      "5790\n",
      "5791\n",
      "5792\n",
      "5793\n",
      "5794\n",
      "5795\n",
      "5796\n",
      "5797\n",
      "5798\n",
      "5799\n",
      "5800\n",
      "5801\n",
      "5802\n",
      "5803\n",
      "5804\n",
      "5805\n",
      "5806\n",
      "5807\n",
      "5808\n",
      "5809\n",
      "5810\n",
      "5811\n",
      "5812\n",
      "5813\n",
      "5814\n",
      "5815\n",
      "5816\n",
      "5817\n",
      "5818\n",
      "5819\n",
      "5820\n",
      "5821\n",
      "5822\n",
      "5823\n",
      "5824\n",
      "5825\n",
      "5826\n",
      "5827\n",
      "5828\n",
      "5829\n",
      "5830\n",
      "5831\n",
      "5832\n",
      "5833\n",
      "5834\n",
      "5835\n",
      "5836\n",
      "5837\n",
      "5838\n",
      "5839\n",
      "5840\n",
      "5841\n",
      "5842\n",
      "5843\n",
      "5844\n",
      "5845\n",
      "5846\n",
      "5847\n",
      "5848\n",
      "5849\n",
      "5850\n",
      "5851\n",
      "5852\n",
      "5853\n",
      "5854\n",
      "5855\n",
      "5856\n",
      "5857\n",
      "5858\n",
      "5859\n",
      "5860\n",
      "5861\n",
      "5862\n",
      "5863\n",
      "5864\n",
      "5865\n",
      "5866\n",
      "5867\n",
      "5868\n",
      "5869\n",
      "5870\n",
      "5871\n",
      "5872\n",
      "5873\n",
      "5874\n",
      "5875\n",
      "5876\n",
      "5877\n",
      "5878\n",
      "5879\n",
      "5880\n",
      "5881\n",
      "5882\n",
      "5883\n",
      "5884\n",
      "5885\n",
      "5886\n",
      "5887\n",
      "5888\n",
      "5889\n",
      "5890\n",
      "5891\n",
      "5892\n",
      "5893\n",
      "5894\n",
      "5895\n",
      "5896\n",
      "5897\n",
      "5898\n",
      "5899\n",
      "5900\n",
      "5901\n",
      "5902\n",
      "5903\n",
      "5904\n",
      "5905\n",
      "5906\n",
      "5907\n",
      "5908\n",
      "5909\n",
      "5910\n",
      "5911\n",
      "5912\n",
      "5913\n",
      "5914\n",
      "5915\n",
      "5916\n",
      "5917\n",
      "5918\n",
      "5919\n",
      "5920\n",
      "5921\n",
      "5922\n",
      "5923\n",
      "5924\n",
      "5925\n",
      "5926\n",
      "5927\n",
      "5928\n",
      "5929\n",
      "5930\n",
      "5931\n",
      "5932\n",
      "5933\n",
      "5934\n",
      "5935\n",
      "5936\n",
      "5937\n",
      "5938\n",
      "5939\n",
      "5940\n",
      "5941\n",
      "5942\n",
      "5943\n",
      "5944\n",
      "5945\n",
      "5946\n",
      "5947\n",
      "5948\n",
      "5949\n",
      "5950\n",
      "5951\n",
      "5952\n",
      "5953\n",
      "5954\n",
      "5955\n",
      "5956\n",
      "5957\n",
      "5958\n",
      "5959\n",
      "5960\n",
      "5961\n",
      "5962\n",
      "5963\n",
      "5964\n",
      "5965\n",
      "5966\n",
      "5967\n",
      "5968\n",
      "5969\n",
      "5970\n",
      "5971\n",
      "5972\n",
      "5973\n",
      "5974\n",
      "5975\n",
      "5976\n",
      "5977\n",
      "5978\n",
      "5979\n",
      "5980\n",
      "5981\n",
      "5982\n",
      "5983\n",
      "5984\n",
      "5985\n",
      "5986\n",
      "5987\n",
      "5988\n",
      "5989\n",
      "5990\n",
      "5991\n",
      "5992\n",
      "5993\n",
      "5994\n",
      "5995\n",
      "5996\n",
      "5997\n",
      "5998\n",
      "5999\n",
      "6000\n",
      "6001\n",
      "6002\n",
      "6003\n",
      "6004\n",
      "6005\n",
      "6006\n",
      "6007\n",
      "6008\n",
      "6009\n",
      "6010\n",
      "6011\n",
      "6012\n",
      "6013\n",
      "6014\n",
      "6015\n",
      "6016\n",
      "6017\n",
      "6018\n",
      "6019\n",
      "6020\n",
      "6021\n",
      "6022\n",
      "6023\n",
      "6024\n",
      "6025\n",
      "6026\n",
      "6027\n",
      "6028\n",
      "6029\n",
      "6030\n",
      "6031\n",
      "6032\n",
      "6033\n",
      "6034\n",
      "6035\n",
      "6036\n",
      "6037\n",
      "6038\n",
      "6039\n",
      "6040\n",
      "6041\n",
      "6042\n",
      "6043\n",
      "6044\n",
      "6045\n",
      "6046\n",
      "6047\n",
      "6048\n",
      "6049\n",
      "6050\n",
      "6051\n",
      "6052\n",
      "6053\n",
      "6054\n",
      "6055\n",
      "6056\n",
      "6057\n",
      "6058\n",
      "6059\n",
      "6060\n",
      "6061\n",
      "6062\n",
      "6063\n",
      "6064\n",
      "6065\n",
      "6066\n",
      "6067\n",
      "6068\n",
      "6069\n",
      "6070\n",
      "6071\n",
      "6072\n",
      "6073\n",
      "6074\n",
      "6075\n",
      "6076\n",
      "6077\n",
      "6078\n",
      "6079\n",
      "6080\n",
      "6081\n",
      "6082\n",
      "6083\n",
      "6084\n",
      "6085\n",
      "6086\n",
      "6087\n",
      "6088\n",
      "6089\n",
      "6090\n",
      "6091\n",
      "6092\n",
      "6093\n",
      "6094\n",
      "6095\n",
      "6096\n",
      "6097\n",
      "6098\n",
      "6099\n",
      "6100\n",
      "6101\n",
      "6102\n",
      "6103\n",
      "6104\n",
      "6105\n",
      "6106\n",
      "6107\n",
      "6108\n",
      "6109\n",
      "6110\n",
      "6111\n",
      "6112\n",
      "6113\n",
      "6114\n",
      "6115\n",
      "6116\n",
      "6117\n",
      "6118\n",
      "6119\n",
      "6120\n",
      "6121\n",
      "6122\n",
      "6123\n",
      "6124\n",
      "6125\n",
      "6126\n",
      "6127\n",
      "6128\n",
      "6129\n",
      "6130\n",
      "6131\n",
      "6132\n",
      "6133\n",
      "6134\n",
      "6135\n",
      "6136\n",
      "6137\n",
      "6138\n",
      "6139\n",
      "6140\n",
      "6141\n",
      "6142\n",
      "6143\n",
      "6144\n",
      "6145\n",
      "6146\n",
      "6147\n",
      "6148\n",
      "6149\n",
      "6150\n",
      "6151\n",
      "6152\n",
      "6153\n",
      "6154\n",
      "6155\n",
      "6156\n",
      "6157\n",
      "6158\n",
      "6159\n",
      "6160\n",
      "6161\n",
      "6162\n",
      "6163\n",
      "6164\n",
      "6165\n",
      "6166\n",
      "6167\n",
      "6168\n",
      "6169\n",
      "6170\n",
      "6171\n",
      "6172\n",
      "6173\n",
      "6174\n",
      "6175\n",
      "6176\n",
      "6177\n",
      "6178\n",
      "6179\n",
      "6180\n",
      "6181\n",
      "6182\n",
      "6183\n",
      "6184\n",
      "6185\n",
      "6186\n",
      "6187\n",
      "6188\n",
      "6189\n",
      "6190\n",
      "6191\n",
      "6192\n",
      "6193\n",
      "6194\n",
      "6195\n",
      "6196\n",
      "6197\n",
      "6198\n",
      "6199\n",
      "6200\n",
      "6201\n",
      "6202\n",
      "6203\n",
      "6204\n",
      "6205\n",
      "6206\n",
      "6207\n",
      "6208\n",
      "6209\n",
      "6210\n",
      "6211\n",
      "6212\n",
      "6213\n",
      "6214\n",
      "6215\n",
      "6216\n",
      "6217\n",
      "6218\n",
      "6219\n",
      "6220\n",
      "6221\n",
      "6222\n",
      "6223\n",
      "6224\n",
      "6225\n",
      "6226\n",
      "6227\n",
      "6228\n",
      "6229\n",
      "6230\n",
      "6231\n",
      "6232\n",
      "6233\n",
      "6234\n",
      "6235\n",
      "6236\n",
      "6237\n",
      "6238\n",
      "6239\n",
      "6240\n",
      "6241\n",
      "6242\n",
      "6243\n",
      "6244\n",
      "6245\n",
      "6246\n",
      "6247\n",
      "6248\n",
      "6249\n",
      "6250\n",
      "6251\n",
      "6252\n",
      "6253\n",
      "6254\n",
      "6255\n",
      "6256\n",
      "6257\n",
      "6258\n",
      "6259\n",
      "6260\n",
      "6261\n",
      "6262\n",
      "6263\n",
      "6264\n",
      "6265\n",
      "6266\n",
      "6267\n",
      "6268\n",
      "6269\n",
      "6270\n",
      "6271\n",
      "6272\n",
      "6273\n",
      "6274\n",
      "6275\n",
      "6276\n",
      "6277\n",
      "6278\n",
      "6279\n",
      "6280\n",
      "6281\n",
      "6282\n",
      "6283\n",
      "6284\n",
      "6285\n",
      "6286\n",
      "6287\n",
      "6288\n",
      "6289\n",
      "6290\n",
      "6291\n",
      "6292\n",
      "6293\n",
      "6294\n",
      "6295\n",
      "6296\n",
      "6297\n",
      "6298\n",
      "6299\n",
      "6300\n",
      "6301\n",
      "6302\n",
      "6303\n",
      "6304\n",
      "6305\n",
      "6306\n",
      "6307\n",
      "6308\n",
      "6309\n",
      "6310\n",
      "6311\n",
      "6312\n",
      "6313\n",
      "6314\n",
      "6315\n",
      "6316\n",
      "6317\n",
      "6318\n",
      "6319\n",
      "6320\n",
      "6321\n",
      "6322\n",
      "6323\n",
      "6324\n",
      "6325\n",
      "6326\n",
      "6327\n",
      "6328\n",
      "6329\n",
      "6330\n",
      "6331\n",
      "6332\n",
      "6333\n",
      "6334\n",
      "6335\n",
      "6336\n",
      "6337\n",
      "6338\n",
      "6339\n",
      "6340\n",
      "6341\n",
      "6342\n",
      "6343\n",
      "6344\n",
      "6345\n",
      "6346\n",
      "6347\n",
      "6348\n",
      "6349\n",
      "6350\n",
      "6351\n",
      "6352\n",
      "6353\n",
      "6354\n",
      "6355\n",
      "6356\n",
      "6357\n",
      "6358\n",
      "6359\n",
      "6360\n",
      "6361\n",
      "6362\n",
      "6363\n",
      "6364\n",
      "6365\n",
      "6366\n",
      "6367\n",
      "6368\n",
      "6369\n",
      "6370\n",
      "6371\n",
      "6372\n",
      "6373\n",
      "6374\n",
      "6375\n",
      "6376\n",
      "6377\n",
      "6378\n",
      "6379\n",
      "6380\n",
      "6381\n",
      "6382\n",
      "6383\n",
      "6384\n",
      "6385\n",
      "6386\n",
      "6387\n",
      "6388\n",
      "6389\n",
      "6390\n",
      "6391\n",
      "6392\n",
      "6393\n",
      "6394\n",
      "6395\n",
      "6396\n",
      "6397\n",
      "6398\n",
      "6399\n",
      "6400\n",
      "6401\n",
      "6402\n",
      "6403\n",
      "6404\n",
      "6405\n",
      "6406\n",
      "6407\n",
      "6408\n",
      "6409\n",
      "6410\n",
      "6411\n",
      "6412\n",
      "6413\n",
      "6414\n",
      "6415\n",
      "6416\n",
      "6417\n",
      "6418\n",
      "6419\n",
      "6420\n",
      "6421\n",
      "6422\n",
      "6423\n",
      "6424\n",
      "6425\n",
      "6426\n",
      "6427\n",
      "6428\n",
      "6429\n",
      "6430\n",
      "6431\n",
      "6432\n",
      "6433\n",
      "6434\n",
      "6435\n",
      "6436\n",
      "6437\n",
      "6438\n",
      "6439\n",
      "6440\n",
      "6441\n",
      "6442\n",
      "6443\n",
      "6444\n",
      "6445\n",
      "6446\n",
      "6447\n",
      "6448\n",
      "6449\n",
      "6450\n",
      "6451\n",
      "6452\n",
      "6453\n",
      "6454\n",
      "6455\n",
      "6456\n",
      "6457\n",
      "6458\n",
      "6459\n",
      "6460\n",
      "6461\n",
      "6462\n",
      "6463\n",
      "6464\n",
      "6465\n",
      "6466\n",
      "6467\n",
      "6468\n",
      "6469\n",
      "6470\n",
      "6471\n",
      "6472\n",
      "6473\n",
      "6474\n",
      "6475\n",
      "6476\n",
      "6477\n",
      "6478\n",
      "6479\n",
      "6480\n",
      "6481\n",
      "6482\n",
      "6483\n",
      "6484\n",
      "6485\n",
      "6486\n",
      "6487\n",
      "6488\n",
      "6489\n",
      "6490\n",
      "6491\n",
      "6492\n",
      "6493\n",
      "6494\n",
      "6495\n",
      "6496\n",
      "6497\n",
      "6498\n",
      "6499\n",
      "6500\n",
      "6501\n",
      "6502\n",
      "6503\n",
      "6504\n",
      "6505\n",
      "6506\n",
      "6507\n",
      "6508\n",
      "6509\n",
      "6510\n",
      "6511\n",
      "6512\n",
      "6513\n",
      "6514\n",
      "6515\n",
      "6516\n",
      "6517\n",
      "6518\n",
      "6519\n",
      "6520\n",
      "6521\n",
      "6522\n",
      "6523\n",
      "6524\n",
      "6525\n",
      "6526\n",
      "6527\n",
      "6528\n",
      "6529\n",
      "6530\n",
      "6531\n",
      "6532\n",
      "6533\n",
      "6534\n",
      "6535\n",
      "6536\n",
      "6537\n",
      "6538\n",
      "6539\n",
      "6540\n",
      "6541\n",
      "6542\n",
      "6543\n",
      "6544\n",
      "6545\n",
      "6546\n",
      "6547\n",
      "6548\n",
      "6549\n",
      "6550\n",
      "6551\n",
      "6552\n",
      "6553\n",
      "6554\n",
      "6555\n",
      "6556\n",
      "6557\n",
      "6558\n",
      "6559\n",
      "6560\n",
      "6561\n",
      "6562\n",
      "6563\n",
      "6564\n",
      "6565\n",
      "6566\n",
      "6567\n",
      "6568\n",
      "6569\n",
      "6570\n",
      "6571\n",
      "6572\n",
      "6573\n",
      "6574\n",
      "6575\n",
      "6576\n",
      "6577\n",
      "6578\n",
      "6579\n",
      "6580\n",
      "6581\n",
      "6582\n",
      "6583\n",
      "6584\n",
      "6585\n",
      "6586\n",
      "6587\n",
      "6588\n",
      "6589\n",
      "6590\n",
      "6591\n",
      "6592\n",
      "6593\n",
      "6594\n",
      "6595\n",
      "6596\n",
      "6597\n",
      "6598\n",
      "6599\n",
      "6600\n",
      "6601\n",
      "6602\n",
      "6603\n",
      "6604\n",
      "6605\n",
      "6606\n",
      "6607\n",
      "6608\n",
      "6609\n",
      "6610\n",
      "6611\n",
      "6612\n",
      "6613\n",
      "6614\n",
      "6615\n",
      "6616\n",
      "6617\n",
      "6618\n",
      "6619\n",
      "6620\n",
      "6621\n",
      "6622\n",
      "6623\n",
      "6624\n",
      "6625\n",
      "6626\n",
      "6627\n",
      "6628\n",
      "6629\n",
      "6630\n",
      "6631\n",
      "6632\n",
      "6633\n",
      "6634\n",
      "6635\n",
      "6636\n",
      "6637\n",
      "6638\n",
      "6639\n",
      "6640\n",
      "6641\n",
      "6642\n",
      "6643\n",
      "6644\n",
      "6645\n",
      "6646\n",
      "6647\n",
      "6648\n",
      "6649\n",
      "6650\n",
      "6651\n",
      "6652\n",
      "6653\n",
      "6654\n",
      "6655\n",
      "6656\n",
      "6657\n",
      "6658\n",
      "6659\n",
      "6660\n",
      "6661\n",
      "6662\n",
      "6663\n",
      "6664\n",
      "6665\n",
      "6666\n",
      "6667\n",
      "6668\n",
      "6669\n",
      "6670\n",
      "6671\n",
      "6672\n",
      "6673\n",
      "6674\n",
      "6675\n",
      "6676\n",
      "6677\n",
      "6678\n",
      "6679\n",
      "6680\n",
      "6681\n",
      "6682\n",
      "6683\n",
      "6684\n",
      "6685\n",
      "6686\n",
      "6687\n",
      "6688\n",
      "6689\n",
      "6690\n",
      "6691\n",
      "6692\n",
      "6693\n",
      "6694\n",
      "6695\n",
      "6696\n",
      "6697\n",
      "6698\n",
      "6699\n",
      "6700\n",
      "6701\n",
      "6702\n",
      "6703\n",
      "6704\n",
      "6705\n",
      "6706\n",
      "6707\n",
      "6708\n",
      "6709\n",
      "6710\n",
      "6711\n",
      "6712\n",
      "6713\n",
      "6714\n",
      "6715\n",
      "6716\n",
      "6717\n",
      "6718\n",
      "6719\n",
      "6720\n",
      "6721\n",
      "6722\n",
      "6723\n",
      "6724\n",
      "6725\n",
      "6726\n",
      "6727\n",
      "6728\n",
      "6729\n",
      "6730\n",
      "6731\n",
      "6732\n",
      "6733\n",
      "6734\n",
      "6735\n",
      "6736\n",
      "6737\n",
      "6738\n",
      "6739\n",
      "6740\n",
      "6741\n",
      "6742\n",
      "6743\n",
      "6744\n",
      "6745\n",
      "6746\n",
      "6747\n",
      "6748\n",
      "6749\n",
      "6750\n",
      "6751\n",
      "6752\n",
      "6753\n",
      "6754\n",
      "6755\n",
      "6756\n",
      "6757\n",
      "6758\n",
      "6759\n",
      "6760\n",
      "6761\n",
      "6762\n",
      "6763\n",
      "6764\n",
      "6765\n",
      "6766\n",
      "6767\n",
      "6768\n",
      "6769\n",
      "6770\n",
      "6771\n",
      "6772\n",
      "6773\n",
      "6774\n",
      "6775\n",
      "6776\n",
      "6777\n",
      "6778\n",
      "6779\n",
      "6780\n",
      "6781\n",
      "6782\n",
      "6783\n",
      "6784\n",
      "6785\n",
      "6786\n",
      "6787\n",
      "6788\n",
      "6789\n",
      "6790\n",
      "6791\n",
      "6792\n",
      "6793\n",
      "6794\n",
      "6795\n",
      "6796\n",
      "6797\n",
      "6798\n",
      "6799\n",
      "6800\n",
      "6801\n",
      "6802\n",
      "6803\n",
      "6804\n",
      "6805\n",
      "6806\n",
      "6807\n",
      "6808\n",
      "6809\n",
      "6810\n",
      "6811\n",
      "6812\n",
      "6813\n",
      "6814\n",
      "6815\n",
      "6816\n",
      "6817\n",
      "6818\n",
      "6819\n",
      "6820\n",
      "6821\n",
      "6822\n",
      "6823\n",
      "6824\n",
      "6825\n",
      "6826\n",
      "6827\n",
      "6828\n",
      "6829\n",
      "6830\n",
      "6831\n",
      "6832\n",
      "6833\n",
      "6834\n",
      "6835\n",
      "6836\n",
      "6837\n",
      "6838\n",
      "6839\n",
      "6840\n",
      "6841\n",
      "6842\n",
      "6843\n",
      "6844\n",
      "6845\n",
      "6846\n",
      "6847\n",
      "6848\n",
      "6849\n",
      "6850\n",
      "6851\n",
      "6852\n",
      "6853\n",
      "6854\n",
      "6855\n",
      "6856\n",
      "6857\n",
      "6858\n",
      "6859\n",
      "6860\n",
      "6861\n",
      "6862\n",
      "6863\n",
      "6864\n",
      "6865\n",
      "6866\n",
      "6867\n",
      "6868\n",
      "6869\n",
      "6870\n",
      "6871\n",
      "6872\n",
      "6873\n",
      "6874\n",
      "6875\n",
      "6876\n",
      "6877\n",
      "6878\n",
      "6879\n",
      "6880\n",
      "6881\n",
      "6882\n",
      "6883\n",
      "6884\n",
      "6885\n",
      "6886\n",
      "6887\n",
      "6888\n",
      "6889\n",
      "6890\n",
      "6891\n",
      "6892\n",
      "6893\n",
      "6894\n",
      "6895\n",
      "6896\n",
      "6897\n",
      "6898\n",
      "6899\n",
      "6900\n",
      "6901\n",
      "6902\n",
      "6903\n",
      "6904\n",
      "6905\n",
      "6906\n",
      "6907\n",
      "6908\n",
      "6909\n",
      "6910\n",
      "6911\n",
      "6912\n",
      "6913\n",
      "6914\n",
      "6915\n",
      "6916\n",
      "6917\n",
      "6918\n",
      "6919\n",
      "6920\n",
      "6921\n",
      "6922\n",
      "6923\n",
      "6924\n",
      "6925\n",
      "6926\n",
      "6927\n",
      "6928\n",
      "6929\n",
      "6930\n",
      "6931\n",
      "6932\n",
      "6933\n",
      "6934\n",
      "6935\n",
      "6936\n",
      "6937\n",
      "6938\n",
      "6939\n",
      "6940\n",
      "6941\n",
      "6942\n",
      "6943\n",
      "6944\n",
      "6945\n",
      "6946\n",
      "6947\n",
      "6948\n",
      "6949\n",
      "6950\n",
      "6951\n",
      "6952\n",
      "6953\n",
      "6954\n",
      "6955\n",
      "6956\n",
      "6957\n",
      "6958\n",
      "6959\n",
      "6960\n",
      "6961\n",
      "6962\n",
      "6963\n",
      "6964\n",
      "6965\n",
      "6966\n",
      "6967\n",
      "6968\n",
      "6969\n",
      "6970\n",
      "6971\n",
      "6972\n",
      "6973\n",
      "6974\n",
      "6975\n",
      "6976\n",
      "6977\n",
      "6978\n",
      "6979\n",
      "6980\n",
      "6981\n",
      "6982\n",
      "6983\n",
      "6984\n",
      "6985\n",
      "6986\n",
      "6987\n",
      "6988\n",
      "6989\n",
      "6990\n",
      "6991\n",
      "6992\n",
      "6993\n",
      "6994\n",
      "6995\n",
      "6996\n",
      "6997\n",
      "6998\n",
      "6999\n",
      "7000\n",
      "7001\n",
      "7002\n",
      "7003\n",
      "7004\n",
      "7005\n",
      "7006\n",
      "7007\n",
      "7008\n",
      "7009\n",
      "7010\n",
      "7011\n",
      "7012\n",
      "7013\n",
      "7014\n",
      "7015\n",
      "7016\n",
      "7017\n",
      "7018\n",
      "7019\n",
      "7020\n",
      "7021\n",
      "7022\n",
      "7023\n",
      "7024\n",
      "7025\n",
      "7026\n",
      "7027\n",
      "7028\n",
      "7029\n",
      "7030\n",
      "7031\n",
      "7032\n",
      "7033\n",
      "7034\n",
      "7035\n",
      "7036\n",
      "7037\n",
      "7038\n",
      "7039\n",
      "7040\n",
      "7041\n",
      "7042\n",
      "7043\n",
      "7044\n",
      "7045\n",
      "7046\n",
      "7047\n",
      "7048\n",
      "7049\n",
      "7050\n",
      "7051\n",
      "7052\n",
      "7053\n",
      "7054\n",
      "7055\n",
      "7056\n",
      "7057\n",
      "7058\n",
      "7059\n",
      "7060\n",
      "7061\n",
      "7062\n",
      "7063\n",
      "7064\n",
      "7065\n",
      "7066\n",
      "7067\n",
      "7068\n",
      "7069\n",
      "7070\n",
      "7071\n",
      "7072\n",
      "7073\n",
      "7074\n",
      "7075\n",
      "7076\n",
      "7077\n",
      "7078\n",
      "7079\n",
      "7080\n",
      "7081\n",
      "7082\n",
      "7083\n",
      "7084\n",
      "7085\n",
      "7086\n",
      "7087\n",
      "7088\n",
      "7089\n",
      "7090\n",
      "7091\n",
      "7092\n",
      "7093\n",
      "7094\n",
      "7095\n",
      "7096\n",
      "7097\n",
      "7098\n",
      "7099\n",
      "7100\n",
      "7101\n",
      "7102\n",
      "7103\n",
      "7104\n",
      "7105\n",
      "7106\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "7107\n",
      "7108\n",
      "7109\n",
      "7110\n",
      "7111\n",
      "7112\n",
      "7113\n",
      "7114\n",
      "7115\n",
      "7116\n",
      "7117\n",
      "7118\n",
      "7119\n",
      "7120\n",
      "7121\n",
      "7122\n",
      "7123\n",
      "7124\n",
      "7125\n",
      "7126\n",
      "7127\n",
      "7128\n",
      "7129\n",
      "7130\n",
      "7131\n",
      "7132\n",
      "7133\n",
      "7134\n",
      "7135\n",
      "7136\n",
      "7137\n",
      "7138\n",
      "7139\n",
      "7140\n",
      "7141\n",
      "7142\n",
      "7143\n",
      "7144\n",
      "7145\n",
      "7146\n",
      "7147\n",
      "7148\n",
      "7149\n",
      "7150\n",
      "7151\n",
      "7152\n",
      "7153\n",
      "7154\n",
      "7155\n",
      "7156\n",
      "7157\n",
      "7158\n",
      "7159\n",
      "7160\n",
      "7161\n",
      "7162\n",
      "7163\n",
      "7164\n",
      "7165\n",
      "7166\n",
      "7167\n",
      "7168\n",
      "7169\n",
      "7170\n",
      "7171\n",
      "7172\n",
      "7173\n",
      "7174\n",
      "7175\n",
      "7176\n",
      "7177\n",
      "7178\n",
      "7179\n",
      "7180\n",
      "7181\n",
      "7182\n",
      "7183\n",
      "7184\n",
      "7185\n",
      "7186\n",
      "7187\n",
      "7188\n",
      "7189\n",
      "7190\n",
      "7191\n",
      "7192\n",
      "7193\n",
      "7194\n",
      "7195\n",
      "7196\n",
      "7197\n",
      "7198\n",
      "7199\n",
      "7200\n",
      "7201\n",
      "7202\n",
      "7203\n",
      "7204\n",
      "7205\n",
      "7206\n",
      "7207\n",
      "7208\n",
      "7209\n",
      "7210\n",
      "7211\n",
      "7212\n",
      "7213\n",
      "7214\n",
      "7215\n",
      "7216\n",
      "7217\n",
      "7218\n",
      "7219\n",
      "7220\n",
      "7221\n",
      "7222\n",
      "7223\n",
      "7224\n",
      "7225\n",
      "7226\n",
      "7227\n",
      "7228\n",
      "7229\n",
      "7230\n",
      "7231\n",
      "7232\n",
      "7233\n",
      "7234\n",
      "7235\n",
      "7236\n",
      "7237\n",
      "7238\n",
      "7239\n",
      "7240\n",
      "7241\n",
      "7242\n",
      "7243\n",
      "7244\n",
      "7245\n",
      "7246\n",
      "7247\n",
      "7248\n",
      "7249\n",
      "7250\n",
      "7251\n",
      "7252\n",
      "7253\n",
      "7254\n",
      "7255\n",
      "7256\n",
      "7257\n",
      "7258\n",
      "7259\n",
      "7260\n",
      "7261\n",
      "7262\n",
      "7263\n",
      "7264\n",
      "7265\n",
      "7266\n",
      "7267\n",
      "7268\n",
      "7269\n",
      "7270\n",
      "7271\n",
      "7272\n",
      "7273\n",
      "7274\n",
      "7275\n",
      "7276\n",
      "7277\n",
      "7278\n",
      "7279\n",
      "7280\n",
      "7281\n",
      "7282\n",
      "7283\n",
      "7284\n",
      "7285\n",
      "7286\n",
      "7287\n",
      "7288\n",
      "7289\n",
      "7290\n",
      "7291\n",
      "7292\n",
      "7293\n",
      "7294\n",
      "7295\n",
      "7296\n",
      "7297\n",
      "7298\n",
      "7299\n",
      "7300\n",
      "7301\n",
      "7302\n",
      "7303\n",
      "7304\n",
      "7305\n",
      "7306\n",
      "7307\n",
      "7308\n",
      "7309\n",
      "7310\n",
      "7311\n",
      "7312\n",
      "7313\n",
      "7314\n",
      "7315\n",
      "7316\n",
      "7317\n",
      "7318\n",
      "7319\n",
      "7320\n",
      "7321\n",
      "7322\n",
      "7323\n",
      "7324\n",
      "7325\n",
      "7326\n",
      "7327\n",
      "7328\n",
      "7329\n",
      "7330\n",
      "7331\n",
      "7332\n",
      "7333\n",
      "7334\n",
      "7335\n",
      "7336\n",
      "7337\n",
      "7338\n",
      "7339\n",
      "7340\n",
      "7341\n",
      "7342\n",
      "7343\n",
      "7344\n",
      "7345\n",
      "7346\n",
      "7347\n",
      "7348\n",
      "7349\n",
      "7350\n",
      "7351\n",
      "7352\n",
      "7353\n",
      "7354\n",
      "7355\n",
      "7356\n",
      "7357\n",
      "7358\n",
      "7359\n",
      "7360\n",
      "7361\n",
      "7362\n",
      "7363\n",
      "7364\n",
      "7365\n",
      "7366\n",
      "7367\n",
      "7368\n",
      "7369\n",
      "7370\n",
      "7371\n",
      "7372\n",
      "7373\n",
      "7374\n",
      "7375\n",
      "7376\n",
      "7377\n",
      "7378\n",
      "7379\n",
      "7380\n",
      "7381\n",
      "7382\n",
      "7383\n",
      "7384\n",
      "7385\n",
      "7386\n",
      "7387\n",
      "7388\n",
      "7389\n",
      "7390\n",
      "7391\n",
      "7392\n",
      "7393\n",
      "7394\n",
      "7395\n",
      "7396\n",
      "7397\n",
      "7398\n",
      "7399\n",
      "7400\n",
      "7401\n",
      "7402\n",
      "7403\n",
      "7404\n",
      "7405\n",
      "7406\n",
      "7407\n",
      "7408\n",
      "7409\n",
      "7410\n",
      "7411\n",
      "7412\n",
      "7413\n",
      "7414\n",
      "7415\n",
      "7416\n",
      "7417\n",
      "7418\n",
      "7419\n",
      "7420\n",
      "7421\n",
      "7422\n",
      "7423\n",
      "7424\n",
      "7425\n",
      "7426\n",
      "7427\n",
      "7428\n",
      "7429\n",
      "7430\n",
      "7431\n",
      "7432\n",
      "7433\n",
      "7434\n",
      "7435\n",
      "7436\n",
      "7437\n",
      "7438\n",
      "7439\n",
      "7440\n",
      "7441\n",
      "7442\n",
      "7443\n",
      "7444\n",
      "7445\n",
      "7446\n",
      "7447\n",
      "7448\n",
      "7449\n",
      "7450\n",
      "7451\n",
      "7452\n",
      "7453\n",
      "7454\n",
      "7455\n",
      "7456\n",
      "7457\n",
      "7458\n",
      "7459\n",
      "7460\n",
      "7461\n",
      "7462\n",
      "7463\n",
      "7464\n",
      "7465\n",
      "7466\n",
      "7467\n",
      "7468\n",
      "7469\n",
      "7470\n",
      "7471\n",
      "7472\n",
      "7473\n",
      "7474\n",
      "7475\n",
      "7476\n",
      "7477\n",
      "7478\n",
      "7479\n",
      "7480\n",
      "7481\n",
      "7482\n",
      "7483\n",
      "7484\n",
      "7485\n",
      "7486\n",
      "7487\n",
      "7488\n",
      "7489\n",
      "7490\n",
      "7491\n",
      "7492\n",
      "7493\n",
      "7494\n",
      "7495\n",
      "7496\n",
      "7497\n",
      "7498\n",
      "7499\n",
      "7500\n",
      "7501\n",
      "7502\n",
      "7503\n",
      "7504\n",
      "7505\n",
      "7506\n",
      "7507\n",
      "7508\n",
      "7509\n",
      "7510\n",
      "7511\n",
      "7512\n",
      "7513\n",
      "7514\n",
      "7515\n",
      "7516\n",
      "7517\n",
      "7518\n",
      "7519\n",
      "7520\n",
      "7521\n",
      "7522\n",
      "7523\n",
      "7524\n",
      "7525\n",
      "7526\n",
      "7527\n",
      "7528\n",
      "7529\n",
      "7530\n",
      "7531\n",
      "7532\n",
      "7533\n",
      "7534\n",
      "7535\n",
      "7536\n",
      "7537\n",
      "7538\n",
      "7539\n",
      "7540\n",
      "7541\n",
      "7542\n",
      "7543\n",
      "7544\n",
      "7545\n",
      "7546\n",
      "7547\n",
      "7548\n",
      "7549\n",
      "7550\n",
      "7551\n",
      "7552\n",
      "7553\n",
      "7554\n",
      "7555\n",
      "7556\n",
      "7557\n",
      "7558\n",
      "7559\n",
      "7560\n",
      "7561\n",
      "7562\n",
      "7563\n",
      "7564\n",
      "7565\n",
      "7566\n",
      "7567\n",
      "7568\n",
      "7569\n",
      "7570\n",
      "7571\n",
      "7572\n",
      "7573\n",
      "7574\n",
      "7575\n",
      "7576\n",
      "7577\n",
      "7578\n",
      "7579\n",
      "7580\n",
      "7581\n",
      "7582\n",
      "7583\n",
      "7584\n",
      "7585\n",
      "7586\n",
      "7587\n",
      "7588\n",
      "7589\n",
      "7590\n",
      "7591\n",
      "7592\n",
      "7593\n",
      "7594\n",
      "7595\n",
      "7596\n",
      "7597\n",
      "7598\n",
      "7599\n",
      "7600\n",
      "7601\n",
      "7602\n",
      "7603\n",
      "7604\n",
      "7605\n",
      "7606\n",
      "7607\n",
      "7608\n",
      "7609\n",
      "7610\n",
      "7611\n",
      "7612\n",
      "7613\n",
      "7614\n",
      "7615\n",
      "7616\n",
      "7617\n",
      "7618\n",
      "7619\n",
      "7620\n",
      "7621\n",
      "7622\n",
      "7623\n",
      "7624\n",
      "7625\n",
      "7626\n",
      "7627\n",
      "7628\n",
      "7629\n",
      "7630\n",
      "7631\n",
      "7632\n",
      "7633\n",
      "7634\n",
      "7635\n",
      "7636\n",
      "7637\n",
      "7638\n",
      "7639\n",
      "7640\n",
      "7641\n",
      "7642\n",
      "7643\n",
      "7644\n",
      "7645\n",
      "7646\n",
      "7647\n",
      "7648\n",
      "7649\n",
      "7650\n",
      "7651\n",
      "7652\n",
      "7653\n",
      "7654\n",
      "7655\n",
      "7656\n",
      "7657\n",
      "7658\n",
      "7659\n",
      "7660\n",
      "7661\n",
      "7662\n",
      "7663\n",
      "7664\n",
      "7665\n",
      "7666\n",
      "7667\n",
      "7668\n",
      "7669\n",
      "7670\n",
      "7671\n",
      "7672\n",
      "7673\n",
      "7674\n",
      "7675\n",
      "7676\n",
      "7677\n",
      "7678\n",
      "7679\n",
      "7680\n",
      "7681\n",
      "7682\n",
      "7683\n",
      "7684\n",
      "7685\n",
      "7686\n",
      "7687\n",
      "7688\n",
      "7689\n",
      "7690\n",
      "7691\n",
      "7692\n",
      "7693\n",
      "7694\n",
      "7695\n",
      "7696\n",
      "7697\n",
      "7698\n",
      "7699\n",
      "7700\n",
      "7701\n",
      "7702\n",
      "7703\n",
      "7704\n",
      "7705\n",
      "7706\n",
      "7707\n",
      "7708\n",
      "7709\n",
      "7710\n",
      "7711\n",
      "7712\n",
      "7713\n",
      "7714\n",
      "7715\n",
      "7716\n",
      "7717\n",
      "7718\n",
      "7719\n",
      "7720\n",
      "7721\n",
      "7722\n",
      "7723\n",
      "7724\n",
      "7725\n",
      "7726\n",
      "7727\n",
      "7728\n",
      "7729\n",
      "7730\n",
      "7731\n",
      "7732\n",
      "7733\n",
      "7734\n",
      "7735\n",
      "7736\n",
      "7737\n",
      "7738\n",
      "7739\n",
      "7740\n",
      "7741\n",
      "7742\n",
      "7743\n",
      "7744\n",
      "7745\n",
      "7746\n",
      "7747\n",
      "7748\n",
      "7749\n",
      "7750\n",
      "7751\n",
      "7752\n",
      "7753\n",
      "7754\n",
      "7755\n",
      "7756\n",
      "7757\n",
      "7758\n",
      "7759\n",
      "7760\n",
      "7761\n",
      "7762\n",
      "7763\n",
      "7764\n",
      "7765\n",
      "7766\n",
      "7767\n",
      "7768\n",
      "7769\n",
      "7770\n",
      "7771\n",
      "7772\n",
      "7773\n",
      "7774\n",
      "7775\n",
      "7776\n",
      "7777\n",
      "7778\n",
      "7779\n",
      "7780\n",
      "7781\n",
      "7782\n",
      "7783\n",
      "7784\n",
      "7785\n",
      "7786\n",
      "7787\n",
      "7788\n",
      "7789\n",
      "7790\n",
      "7791\n",
      "7792\n",
      "7793\n",
      "7794\n",
      "7795\n",
      "7796\n",
      "7797\n",
      "7798\n",
      "7799\n",
      "7800\n",
      "7801\n",
      "7802\n",
      "7803\n",
      "7804\n",
      "7805\n",
      "7806\n",
      "7807\n",
      "7808\n",
      "7809\n",
      "7810\n",
      "7811\n",
      "7812\n",
      "7813\n",
      "7814\n",
      "7815\n",
      "7816\n",
      "7817\n",
      "7818\n",
      "7819\n",
      "7820\n",
      "7821\n",
      "7822\n",
      "7823\n",
      "7824\n",
      "7825\n",
      "7826\n",
      "7827\n",
      "7828\n",
      "7829\n",
      "7830\n",
      "7831\n",
      "7832\n",
      "7833\n",
      "7834\n",
      "7835\n",
      "7836\n",
      "7837\n",
      "7838\n",
      "7839\n",
      "7840\n",
      "7841\n",
      "7842\n",
      "7843\n",
      "7844\n",
      "7845\n",
      "7846\n",
      "7847\n",
      "7848\n",
      "7849\n",
      "7850\n",
      "7851\n",
      "7852\n",
      "7853\n",
      "7854\n",
      "7855\n",
      "7856\n",
      "7857\n",
      "7858\n",
      "7859\n",
      "7860\n",
      "7861\n",
      "7862\n",
      "7863\n",
      "7864\n",
      "7865\n",
      "7866\n",
      "7867\n",
      "7868\n",
      "7869\n",
      "7870\n",
      "7871\n",
      "7872\n",
      "7873\n",
      "7874\n",
      "7875\n",
      "7876\n",
      "7877\n",
      "7878\n",
      "7879\n",
      "7880\n",
      "7881\n",
      "7882\n",
      "7883\n",
      "7884\n",
      "7885\n",
      "7886\n",
      "7887\n",
      "7888\n",
      "7889\n",
      "7890\n",
      "7891\n",
      "7892\n",
      "7893\n",
      "7894\n",
      "7895\n",
      "7896\n",
      "7897\n",
      "7898\n",
      "7899\n",
      "7900\n",
      "7901\n",
      "7902\n",
      "7903\n",
      "7904\n",
      "7905\n",
      "7906\n",
      "7907\n",
      "7908\n",
      "7909\n",
      "7910\n",
      "7911\n",
      "7912\n",
      "7913\n",
      "7914\n",
      "7915\n",
      "7916\n",
      "7917\n",
      "7918\n",
      "7919\n",
      "7920\n",
      "7921\n",
      "7922\n",
      "7923\n",
      "7924\n",
      "7925\n",
      "7926\n",
      "7927\n",
      "7928\n",
      "7929\n",
      "7930\n",
      "7931\n",
      "7932\n",
      "7933\n",
      "7934\n",
      "7935\n",
      "7936\n",
      "7937\n",
      "7938\n",
      "7939\n",
      "7940\n",
      "7941\n",
      "7942\n",
      "7943\n",
      "7944\n",
      "7945\n",
      "7946\n",
      "7947\n",
      "7948\n",
      "7949\n",
      "7950\n",
      "7951\n",
      "7952\n",
      "7953\n",
      "7954\n",
      "7955\n",
      "7956\n",
      "7957\n",
      "7958\n",
      "7959\n",
      "7960\n",
      "7961\n",
      "7962\n",
      "7963\n",
      "7964\n",
      "7965\n",
      "7966\n",
      "7967\n",
      "7968\n",
      "7969\n",
      "7970\n",
      "7971\n",
      "7972\n",
      "7973\n",
      "7974\n",
      "7975\n",
      "7976\n",
      "7977\n",
      "7978\n",
      "7979\n",
      "7980\n",
      "7981\n",
      "7982\n",
      "7983\n",
      "7984\n",
      "7985\n",
      "7986\n",
      "7987\n",
      "7988\n",
      "7989\n",
      "7990\n",
      "7991\n",
      "7992\n",
      "7993\n",
      "7994\n",
      "7995\n",
      "7996\n",
      "7997\n",
      "7998\n",
      "7999\n",
      "8000\n",
      "8001\n",
      "8002\n",
      "8003\n",
      "8004\n",
      "8005\n",
      "8006\n",
      "8007\n",
      "8008\n",
      "8009\n",
      "8010\n",
      "8011\n",
      "8012\n",
      "8013\n",
      "8014\n",
      "8015\n",
      "8016\n",
      "8017\n",
      "8018\n",
      "8019\n",
      "8020\n",
      "8021\n",
      "8022\n",
      "8023\n",
      "8024\n",
      "8025\n",
      "8026\n",
      "8027\n",
      "8028\n",
      "8029\n",
      "8030\n",
      "8031\n",
      "8032\n",
      "8033\n",
      "8034\n",
      "8035\n",
      "8036\n",
      "8037\n",
      "8038\n",
      "8039\n",
      "8040\n",
      "8041\n",
      "8042\n",
      "8043\n",
      "8044\n",
      "8045\n",
      "8046\n",
      "8047\n",
      "8048\n",
      "8049\n",
      "8050\n",
      "8051\n",
      "8052\n",
      "8053\n",
      "8054\n",
      "8055\n",
      "8056\n",
      "8057\n",
      "8058\n",
      "8059\n",
      "8060\n",
      "8061\n",
      "8062\n",
      "8063\n",
      "8064\n",
      "8065\n",
      "8066\n",
      "8067\n",
      "8068\n",
      "8069\n",
      "8070\n",
      "8071\n",
      "8072\n",
      "8073\n",
      "8074\n",
      "8075\n",
      "8076\n",
      "8077\n",
      "8078\n",
      "8079\n",
      "8080\n",
      "8081\n",
      "8082\n",
      "8083\n",
      "8084\n",
      "8085\n",
      "8086\n",
      "8087\n",
      "8088\n",
      "8089\n",
      "8090\n",
      "8091\n",
      "8092\n",
      "8093\n",
      "8094\n",
      "8095\n",
      "8096\n",
      "8097\n",
      "8098\n",
      "8099\n",
      "8100\n",
      "8101\n",
      "8102\n",
      "8103\n",
      "8104\n",
      "8105\n",
      "8106\n",
      "8107\n",
      "8108\n",
      "8109\n",
      "8110\n",
      "8111\n",
      "8112\n",
      "8113\n",
      "8114\n",
      "8115\n",
      "8116\n",
      "8117\n",
      "8118\n",
      "8119\n",
      "8120\n",
      "8121\n",
      "8122\n",
      "8123\n",
      "8124\n",
      "8125\n",
      "8126\n",
      "8127\n",
      "8128\n",
      "8129\n",
      "8130\n",
      "8131\n",
      "8132\n",
      "8133\n",
      "8134\n",
      "8135\n",
      "8136\n",
      "8137\n",
      "8138\n",
      "8139\n",
      "8140\n",
      "8141\n",
      "8142\n",
      "8143\n",
      "8144\n",
      "8145\n",
      "8146\n",
      "8147\n",
      "8148\n",
      "8149\n",
      "8150\n",
      "8151\n",
      "8152\n",
      "8153\n",
      "8154\n",
      "8155\n",
      "8156\n",
      "8157\n",
      "8158\n",
      "8159\n",
      "8160\n",
      "8161\n",
      "8162\n",
      "8163\n",
      "8164\n",
      "8165\n",
      "8166\n",
      "8167\n",
      "8168\n",
      "8169\n",
      "8170\n",
      "8171\n",
      "8172\n",
      "8173\n",
      "8174\n",
      "8175\n",
      "8176\n",
      "8177\n",
      "8178\n",
      "8179\n",
      "8180\n",
      "8181\n",
      "8182\n",
      "8183\n",
      "8184\n",
      "8185\n",
      "8186\n",
      "8187\n",
      "8188\n",
      "8189\n",
      "8190\n",
      "8191\n",
      "8192\n",
      "8193\n",
      "8194\n",
      "8195\n",
      "8196\n",
      "8197\n",
      "8198\n",
      "8199\n",
      "8200\n",
      "8201\n",
      "8202\n",
      "8203\n",
      "8204\n",
      "8205\n",
      "8206\n",
      "8207\n",
      "8208\n",
      "8209\n",
      "8210\n",
      "8211\n",
      "8212\n",
      "8213\n",
      "8214\n",
      "8215\n",
      "8216\n",
      "8217\n",
      "8218\n",
      "8219\n",
      "8220\n",
      "8221\n",
      "8222\n",
      "8223\n",
      "8224\n",
      "8225\n",
      "8226\n",
      "8227\n",
      "8228\n",
      "8229\n",
      "8230\n",
      "8231\n",
      "8232\n",
      "8233\n",
      "8234\n",
      "8235\n",
      "8236\n",
      "8237\n",
      "8238\n",
      "8239\n",
      "8240\n",
      "8241\n",
      "8242\n",
      "8243\n",
      "8244\n",
      "8245\n",
      "8246\n",
      "8247\n",
      "8248\n",
      "8249\n",
      "8250\n",
      "8251\n",
      "8252\n",
      "8253\n",
      "8254\n",
      "8255\n",
      "8256\n",
      "8257\n",
      "8258\n",
      "8259\n",
      "8260\n",
      "8261\n",
      "8262\n",
      "8263\n",
      "8264\n",
      "8265\n",
      "8266\n",
      "8267\n",
      "8268\n",
      "8269\n",
      "8270\n",
      "8271\n",
      "8272\n",
      "8273\n",
      "8274\n",
      "8275\n",
      "8276\n",
      "8277\n",
      "8278\n",
      "8279\n",
      "8280\n",
      "8281\n",
      "8282\n",
      "8283\n",
      "8284\n",
      "8285\n",
      "8286\n",
      "8287\n",
      "8288\n",
      "8289\n",
      "8290\n",
      "8291\n",
      "8292\n",
      "8293\n",
      "8294\n",
      "8295\n",
      "8296\n",
      "8297\n",
      "8298\n",
      "8299\n",
      "8300\n",
      "8301\n",
      "8302\n",
      "8303\n",
      "8304\n",
      "8305\n",
      "8306\n",
      "8307\n",
      "8308\n",
      "8309\n",
      "8310\n",
      "8311\n",
      "8312\n",
      "8313\n",
      "8314\n",
      "8315\n",
      "8316\n",
      "8317\n",
      "8318\n",
      "8319\n",
      "8320\n",
      "8321\n",
      "8322\n",
      "8323\n",
      "8324\n",
      "8325\n",
      "8326\n",
      "8327\n",
      "8328\n",
      "8329\n",
      "8330\n",
      "8331\n",
      "8332\n",
      "8333\n",
      "8334\n",
      "8335\n",
      "8336\n",
      "8337\n",
      "8338\n",
      "8339\n",
      "8340\n",
      "8341\n",
      "8342\n",
      "8343\n",
      "8344\n",
      "8345\n",
      "8346\n",
      "8347\n",
      "8348\n",
      "8349\n",
      "8350\n",
      "8351\n",
      "8352\n",
      "8353\n",
      "8354\n",
      "8355\n",
      "8356\n",
      "8357\n",
      "8358\n",
      "8359\n",
      "8360\n",
      "8361\n",
      "8362\n",
      "8363\n",
      "8364\n",
      "8365\n",
      "8366\n",
      "8367\n",
      "8368\n",
      "8369\n",
      "8370\n",
      "8371\n",
      "8372\n",
      "8373\n",
      "8374\n",
      "8375\n",
      "8376\n",
      "8377\n",
      "8378\n",
      "8379\n",
      "8380\n",
      "8381\n",
      "8382\n",
      "8383\n",
      "8384\n",
      "8385\n",
      "8386\n",
      "8387\n",
      "8388\n",
      "8389\n",
      "8390\n",
      "8391\n",
      "8392\n",
      "8393\n",
      "8394\n",
      "8395\n",
      "8396\n",
      "8397\n",
      "8398\n",
      "8399\n",
      "8400\n",
      "8401\n",
      "8402\n",
      "8403\n",
      "8404\n",
      "8405\n",
      "8406\n",
      "8407\n",
      "8408\n",
      "8409\n",
      "8410\n",
      "8411\n",
      "8412\n",
      "8413\n",
      "8414\n",
      "8415\n",
      "8416\n",
      "8417\n",
      "8418\n",
      "8419\n",
      "8420\n",
      "8421\n",
      "8422\n",
      "8423\n",
      "8424\n",
      "8425\n",
      "8426\n",
      "8427\n",
      "8428\n",
      "8429\n",
      "8430\n",
      "8431\n",
      "8432\n",
      "8433\n",
      "8434\n",
      "8435\n",
      "8436\n",
      "8437\n",
      "8438\n",
      "8439\n",
      "8440\n",
      "8441\n",
      "8442\n",
      "8443\n",
      "8444\n",
      "8445\n",
      "8446\n",
      "8447\n",
      "8448\n",
      "8449\n",
      "8450\n",
      "8451\n",
      "8452\n",
      "8453\n",
      "8454\n",
      "8455\n",
      "8456\n",
      "8457\n",
      "8458\n",
      "8459\n",
      "8460\n",
      "8461\n",
      "8462\n",
      "8463\n",
      "8464\n",
      "8465\n",
      "8466\n",
      "8467\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "IOPub message rate exceeded.\n",
      "The notebook server will temporarily stop sending output\n",
      "to the client in order to avoid crashing it.\n",
      "To change this limit, set the config variable\n",
      "`--NotebookApp.iopub_msg_rate_limit`.\n",
      "\n",
      "Current values:\n",
      "NotebookApp.iopub_msg_rate_limit=1000.0 (msgs/sec)\n",
      "NotebookApp.rate_limit_window=3.0 (secs)\n",
      "\n"
     ]
    }
   ],
   "source": [
    "## ROTATIONS marginloss percentile distance\n",
    "import matplotlib\n",
    "from torch.autograd import Variable\n",
    "\n",
    "def softmax(x):\n",
    "    \"\"\"Compute softmax values for each sets of scores in x.\"\"\"\n",
    "    e_x = np.exp(x - np.max(x))\n",
    "    return e_x / e_x.sum()\n",
    "    \n",
    "        \n",
    "###########################################\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import scipy.ndimage as ndim\n",
    "import matplotlib.colors as mcolors\n",
    "conv = mcolors.ColorConverter().to_rgb\n",
    "\n",
    "Nsamples = 100\n",
    "\n",
    "s_rot = 0\n",
    "end_rot = 179\n",
    "steps = 16\n",
    "rotations = (np.linspace(s_rot, end_rot, steps)).astype(int)            \n",
    "  \n",
    "\n",
    "all_preds = np.zeros((len(x_dev), steps, 10))\n",
    "all_sample_preds = np.zeros((len(x_dev), Nsamples, steps, 10))\n",
    "\n",
    "# DO ROTATIONS ON OUR IMAGE\n",
    "for im_ind in range(len(x_dev)):\n",
    "    x, y = x_dev[im_ind], y_dev[im_ind]\n",
    "    print(im_ind)\n",
    "    \n",
    "    ims = []\n",
    "    predictions = []\n",
    "    for i in range(len(rotations)):\n",
    "\n",
    "        angle = rotations[i]\n",
    "        x_rot = np.expand_dims(ndim.interpolation.rotate(x[0, :, :], angle, reshape=False, cval=-0.42421296), 0)\n",
    "        ims.append(x_rot[:,:,:])\n",
    "    \n",
    "    ims = np.concatenate(ims)\n",
    "    net.set_mode_train(False)\n",
    "    y = np.ones(ims.shape[0])*y\n",
    "    ims = np.expand_dims(ims, axis=1)\n",
    "    \n",
    "#     cost, err, probs = net.sample_eval(torch.from_numpy(ims), torch.from_numpy(y), Nsamples=Nsamples, logits=False)\n",
    "    sample_probs = net.all_sample_eval(torch.from_numpy(ims), torch.from_numpy(y), Nsamples=Nsamples)\n",
    "    probs = sample_probs.mean(dim=0)\n",
    "    \n",
    "    all_sample_preds[im_ind, :, :, :] = sample_probs.cpu().numpy()\n",
    "    predictions = probs.cpu().numpy()\n",
    "    all_preds[im_ind, :, :] = predictions\n",
    "   \n",
    "    \n",
    "all_preds_entropy = -(all_preds * np.log(all_preds)).sum(axis=2)\n",
    "mean_angle_entropy = all_preds_entropy.mean(axis=0)\n",
    "std_angle_entropy = all_preds_entropy.std(axis=0)\n",
    "\n",
    "correct_preds = np.zeros((len(x_dev), steps))\n",
    "for i in range(len(x_dev)):\n",
    "    correct_preds[i,:] = all_preds[i,:,y_dev[i]]\n",
    "    \n",
    "correct_mean = correct_preds.mean(axis=0)\n",
    "correct_std = correct_preds.std(axis=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "np.save(results_dir+'/correct_preds.npy', correct_preds)\n",
    "np.save(results_dir+'/all_preds.npy', all_preds)\n",
    "np.save(results_dir+'/all_sample_preds.npy', all_sample_preds) #all_sample_preds"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "def errorfill(x, y, yerr, color=None, alpha_fill=0.3, ax=None):\n",
    "    ax = ax if ax is not None else plt.gca()\n",
    "    if color is None:\n",
    "        color = ax._get_lines.color_cycle.next()\n",
    "    if np.isscalar(yerr) or len(yerr) == len(y):\n",
    "        ymin = y - yerr\n",
    "        ymax = y + yerr\n",
    "    elif len(yerr) == 2:\n",
    "        ymin, ymax = yerr\n",
    "    ax.plot(x, y, color=color)\n",
    "    ax.fill_between(x, ymax, ymin, color=color, alpha=alpha_fill)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "ename": "ValueError",
     "evalue": "x and y must have same first dimension, but have shapes (10,) and (16,)",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mValueError\u001b[0m                                Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-25-8434bd0e1167>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[1;32m      4\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfigure\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdpi\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m100\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      5\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 6\u001b[0;31m \u001b[0merrorfill\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrotations\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcorrect_mean\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0myerr\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mcorrect_std\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcolor\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mc\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m2\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m      7\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      8\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m<ipython-input-21-10ef4f1981e1>\u001b[0m in \u001b[0;36merrorfill\u001b[0;34m(x, y, yerr, color, alpha_fill, ax)\u001b[0m\n\u001b[1;32m      8\u001b[0m     \u001b[0;32melif\u001b[0m \u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0myerr\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      9\u001b[0m         \u001b[0mymin\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mymax\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0myerr\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 10\u001b[0;31m     \u001b[0max\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcolor\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mcolor\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m     11\u001b[0m     \u001b[0max\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfill_between\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mymax\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mymin\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mcolor\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mcolor\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0malpha\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0malpha_fill\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/homes/ja666/anaconda2/lib/python2.7/site-packages/matplotlib/__init__.pyc\u001b[0m in \u001b[0;36minner\u001b[0;34m(ax, *args, **kwargs)\u001b[0m\n\u001b[1;32m   1865\u001b[0m                         \u001b[0;34m\"the Matplotlib list!)\"\u001b[0m \u001b[0;34m%\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0mlabel_namer\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__name__\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1866\u001b[0m                         RuntimeWarning, stacklevel=2)\n\u001b[0;32m-> 1867\u001b[0;31m             \u001b[0;32mreturn\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0max\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   1868\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1869\u001b[0m         inner.__doc__ = _add_data_doc(inner.__doc__,\n",
      "\u001b[0;32m/homes/ja666/anaconda2/lib/python2.7/site-packages/matplotlib/axes/_axes.pyc\u001b[0m in \u001b[0;36mplot\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m   1526\u001b[0m         \u001b[0mkwargs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcbook\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnormalize_kwargs\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0m_alias_map\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1527\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1528\u001b[0;31m         \u001b[0;32mfor\u001b[0m \u001b[0mline\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_lines\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m   1529\u001b[0m             \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0madd_line\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mline\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m   1530\u001b[0m             \u001b[0mlines\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mline\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/homes/ja666/anaconda2/lib/python2.7/site-packages/matplotlib/axes/_base.pyc\u001b[0m in \u001b[0;36m_grab_next_args\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m    404\u001b[0m                 \u001b[0mthis\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    405\u001b[0m                 \u001b[0margs\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0margs\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 406\u001b[0;31m             \u001b[0;32mfor\u001b[0m \u001b[0mseg\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_plot_args\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mthis\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    407\u001b[0m                 \u001b[0;32myield\u001b[0m \u001b[0mseg\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    408\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/homes/ja666/anaconda2/lib/python2.7/site-packages/matplotlib/axes/_base.pyc\u001b[0m in \u001b[0;36m_plot_args\u001b[0;34m(self, tup, kwargs)\u001b[0m\n\u001b[1;32m    381\u001b[0m             \u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mindex_of\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtup\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m-\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    382\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 383\u001b[0;31m         \u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_xy_from_xy\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m    384\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    385\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcommand\u001b[0m \u001b[0;34m==\u001b[0m \u001b[0;34m'plot'\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m/homes/ja666/anaconda2/lib/python2.7/site-packages/matplotlib/axes/_base.pyc\u001b[0m in \u001b[0;36m_xy_from_xy\u001b[0;34m(self, x, y)\u001b[0m\n\u001b[1;32m    240\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    241\u001b[0m             raise ValueError(\"x and y must have same first dimension, but \"\n\u001b[0;32m--> 242\u001b[0;31m                              \"have shapes {} and {}\".format(x.shape, y.shape))\n\u001b[0m\u001b[1;32m    243\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndim\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m2\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndim\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m2\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    244\u001b[0m             raise ValueError(\"x and y can be no greater than 2-D, but have \"\n",
      "\u001b[0;31mValueError\u001b[0m: x and y must have same first dimension, but have shapes (10,) and (16,)"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 600x400 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "rotations = (np.linspace(s_rot, end_rot, steps)).astype(int)\n",
    "\n",
    "plt.figure(dpi=100)\n",
    "\n",
    "errorfill(rotations, correct_mean, yerr=correct_std, color=c[2])\n",
    "          \n",
    "\n",
    "plt.xlabel('rotation angle')\n",
    "lgd = plt.legend(['correct class', 'posterior predictive entropy'], loc='upper right',\n",
    "                 prop={'size': 15, 'weight': 'normal'}, bbox_to_anchor=(1.4,1))\n",
    "ax = plt.gca()\n",
    "ax2 = ax.twinx()\n",
    "errorfill(rotations, mean_angle_entropy, yerr=std_angle_entropy, color=c[3], ax=ax2)\n",
    "\n",
    "for item in ([ax.title, ax.xaxis.label, ax.yaxis.label] + [ax2.title, ax2.xaxis.label, ax2.yaxis.label] +\n",
    "            ax.get_xticklabels() + ax.get_yticklabels() + ax2.get_xticklabels() + ax2.get_yticklabels()):\n",
    "    item.set_fontsize(15)\n",
    "    item.set_weight('normal')\n",
    "plt.autoscale(enable=True, axis='x', tight=True)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'all_sample_preds' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-15-235dff84c91c>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mall_sample_preds\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[0;31mNameError\u001b[0m: name 'all_sample_preds' is not defined"
     ]
    }
   ],
   "source": [
    "print(all_sample_preds.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Weight distribution"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(23928000,)\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/homes/ja666/anaconda2/lib/python2.7/site-packages/scipy/stats/stats.py:1713: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.\n",
      "  return np.add.reduce(sorted[indexer] * weights, axis=axis) / sumval\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "Text(0.5,1,'Total parameters: 2392800, samples: 10')"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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2GHzeOKJR/n0p0/uLOcu0vMJh8PE43Fuv/0W5s07nCuu6OopqKys5PLLL+b0089k9uzteO+9d9hvv/056aRTOsskBgSpek6HH34Ut932M5555mlOOeVUAF555SU2bFjPscceP6TzHX/8kd1+32+/uZxzTvddIS688NLO/0ejUfbdd3/mzz+ChQv/zgknnATAHXfcyjbbTOeWW+7oDBL226/78/C99torXHnlpZx88mdZsGDrHSj22msfzjvPpRDuv/9c6uo2cv/993L88ScRDLogOxKJcPbZ5zFvnksEDYeDPPfcQt577x1uvPFnzJ17kPf4AznttM/y61/fxV577dN5jvr6Om677S6mT58BwA477MgXvvAZnnrq8c7nNNIUWIhIWnywchNvLN5IMAAH7z611zKBQICj5s7k7kff4e//WcUR+82grDi1Wfy5ID8/n9tvd7Mo2tvbsfZ97rnnl4TDYS6//FsAvPTSP7nvvntYuvQjmpqaOh+7cuXyzgvfccedyPnnn82SJR8xe/Z2vPzyv6it3dh5kV65cjk1NWu58MJLuw0z7Lnn3gQCAax9j9mzt2PHHXfi97//LffccycHHngQxuzceSFM5XMqLi5h3rzDeeKJRzsDiyeeeJTddtudbbedNaTz/exnv6CkpIRIJMqyZUu4++5fctVVl3HTTbd0zkJZtOht7r77Dj74wHbrpVi50g3Ftba28s47izjnnPN6XZEy0Usv/ZNnnvkrp5/+FU4//au9ljnkkMN6/D6Pp59+ivXr1zN58uTO2+fO/Xi3cm+++QZFRcWdQQW4nJXDDvsUv/3tvUSj0c76zZq1XWdQATB9+gxmzdqOd955W4GFiIwe8XicB579EID950ymsrSgz7K7zKpkxuTxrKjZwhMvLed/PrXDSFUzawSDQXbaaZfO33fffU8vz+FnfOYzn6OtrZUrrriEgw/+BF/84umUl7udKc8558u0tXV1ee+5517MmDGTJ574MxdccAmPP/5n9tjjY8yY4YacNm3aBMBVV32j13r43f2nnfYVAoEAf/nLE9x7768oL6/gpJNO4Ywzzhr0VNGBntPs2dsBcPzxJ7JgwVdYvPgDKiom8M9//oNLL71iCK3nbL/9jp3Jm3Pm7EZJSQlXX/1NXnrpnxx44EHU1NRwySXns9NOO3PZZVcyYcJExo0bx2WXfZ32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\n",
      "text/plain": [
       "<Figure size 600x400 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "name = 'Bayes_By_Backprop'\n",
    "Nsamples = 10\n",
    "weight_vector = net.get_weight_samples(Nsamples=Nsamples)\n",
    "np.save(results_dir+'/weight_samples_'+name+'.npy', weight_vector)\n",
    "\n",
    "print(weight_vector.shape)\n",
    "\n",
    "fig = plt.figure(dpi=100)\n",
    "ax = fig.add_subplot(111)\n",
    "symlim = 0.7\n",
    "\n",
    "lim_idxs = np.where(np.logical_and(weight_vector>=symlim, weight_vector<=symlim))\n",
    "\n",
    "sns.distplot(weight_vector, 500, norm_hist=False, label=name, ax=ax)\n",
    "ax.set_xlim((-symlim, symlim))\n",
    "# ax.hist(weight_vector, bins=70, density=True);\n",
    "\n",
    "ax.set_ylabel('Density')\n",
    "ax.legend()\n",
    "plt.title('Total parameters: %d, samples: %d' % (len(weight_vector)/Nsamples, Nsamples))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Evolution over iterations"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x480 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAGqCAYAAACGQAkwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAASdAAAEnQB3mYfeAAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzt3XeYJGdh5/FfdZieHHc2J2m1+yoiJISEkEAkIUw+EE5EWyRj4GxsYxvjcMDZxj5kH7KPA2EEhrPJSSQbMCJIIFAACYVahc1xcu6ZDnV/VFdPzWxP6q7uqu75fp5nn+nprq5++52a3t+80XIcRwAAAKh/sbALAAAAgGAQ7AAAABoEwQ4AAKBBEOwAAAAaBMEOAACgQRDsAAAAGgTBDgAAoEEQ7AAAABoEwQ4AAKBBEOwAAAAaBMEOAACgQRDsAAAAGgTBDgAAoEEQ7AAAABoEwQ4AAKBBJMIuwDIsSRsKt6fDLAgAAMAqtBa+DkpywihAlIPdBkmnwy4EAADAGm2UNBDGC9MVCwAA0CCi3GJX7H4dGJgIsxyR09PjtvSOjNBD7Ue9lEa9nIk6KY16KY16KY16OVN/f4d3M7RKocUOAACgQRDsAAAAGgTBDgAAoEEQ7AAAABoEwQ4AAKBBEOwAAAAaRJSXOwEAoKE5jqPZ2bTS6SllsxmFtFlBWcbG3AiRyWRDLkk1WUokkmpublMq1SzLssIu0IoIdgAAhMBxHE1MjGp6elySFIslFItFPzh4stlc2EWounw+r3R6Sun0lFpbO9XR0R35cEewAwAgBLOzaU1PjyuZTKmra4MSifr6Lzked0dz5XL5kEtSXdlsRmNjQ5qeHlcq1axUqiXsIi2LMXYAAIQgnZ6SpLoMdetJIpFUV9cGSdLMzFTIpVkZwQ4AgBBksxnFYglCXR1IJBKKxRKFcZDRRrADACAUTl2NqVvv3LF10Z/cQrADAABYQcTnTBQR7AAAABoEHfsA1pWBsbQUj6m3q1nJZFyZTOMv2YD6lEzGI7e0huM4/M5EHMEOwLpx4OSE3veJnylmWfqVp+7Wrz97L+EOkWVZlh45NqpMJhrLiSSTMe3d1l3ROe655y69/e1v1rve9Zd6/vNfFFDJ4EewA7Bu/OdPD8txpJzj6Gs/OqC7Hzqlt778CdrS2xp20YCSMpm8jp6eCLsYkqTtGzuqct6JiQl99rP/pksueZIuvfSyVT/vrW99o37+83tKPvb+9/+DrrrqaWfc/9Wvfklf+MJndeTIYbW2tuiyy67Qm9/8Vm3evKXs8kcNwQ7AupDO5HS3fVqSFLOkvCOdGJrWX3z0Tv32C87TlRdsDrmEQON74hMv1Xe/e/uCJV4mJyd0yy03S9Kagp0kdXd3621ve8cZ9+/bZ8647+abP6RPfOJfdNFFF+vtb3+HRkdH9PnPf1pvetPduvnmT2jjxk1rfDfRRLADsC7ccf9JZXPuUgWvvO5cnRye1nd/dli5vKP/95/7dfl5GxWPMZ8MqKZYLKZUKhXY+ZqbW3Tddc9f8bjDhw/pU5/6uPbtO1c33fThYrB86lOv1utf/xp9+MP/rD//8/cEVq4wVfQpZoxxlvnXHlQhAaASjuPotnuPSpL6u1u0Z3uXXnj1Wbr+WXslSdOzWR0+NRlmEYF14Z577tLVV1+mb3zjVknSN75xq17xihdLkm655WZdffVluvrqy3T99asff5fP5zU1Nal8fumxiN/+9reUy+X0ilf8+oLWwn37ztUll1ym2277rmZn02W+q2gJosXuh5I+UuL+xqghAHXv8RPjOjrgbgX0lAs3F2canre7t3jMw4dHdNaWzlDKB6xXF198id7+9nfogx+8UU9/+jN1zTXPlCS1tKxu3OvAwGlde+3TNDs7q6amlJ70pMv0+tf/jow5d8FxDz74gCTpwgufcMY5LrroCbr77p/qscce1fnnX1jhOwpfEMHucdu2PxXAeQAgcMlkXLfff1KSO7bu8vM3KV9YPL6vq1m9nSkNj89q/5ExvfhqZsgCtbRt23Y97WnP0Ac/eKP27DlnVd2qni1btuqiiy7Wnj3nKJlM6uGHH9LnP/9p/c7v/LY+8IGbdMklTyoeOzBwSpK0cePGM87T37+xcMzpCt9NNAQyxs4Y0yQpZdt2NKbuAEDBbCanO355QpJ0/tl96mpPaWRitvj43h09uvOBk3ro0LBy+ehvFwTA9Wd/9lcLvr/mmmfpWc96jt7whtfqAx/4W33qU58rPpZOu52IyWTTGedpampacEy9C2Kk8PWSpiWNG2OGjDEfNcY0xtQSAHXvzgdOaa6wDtiVF54583Xvji5J0lwmr4MnxmtaNgDB2rvX6Oqrr9HBgwd0/Pix4v3Nzc2SpExm7oznzM3NLTim3lXaYvczSZ+XtF9Su6RrJf22pOcYY66wbftUheeXJPX0sMaUXzzu5nHqZSHqpbT1Xi8/uO+4JKmzrUkX7ulTLGbJsiRLUixmyezsKR772IlxXWzO7KpZL9b7tbKUatXL2FhC2WyueP7FvGs1FpHdJyzLLZNXXq9YS5W/FO9Y/3lK3VeJrVu3SpLGx8e0Y8cOSdLGjZv0+OOPaWhoUDt27Fxw/ODggCRp06bNy76+ZVlKJOKR//2oKNjZtn35ors+ZYy5U9I/S/pLSW+p5PwAUInB0RnZh0YkuWPrSi1n0tM5P87u/seG9LJnnFPrYgII0NGjRyRJfX19xfvOP/8C/eQnd+j+++87I9jdf/8vlEo1a8+ePTUtZ7VUYx27D0n6K0kvCOqEIyPTQZ2qIXh/LVAvC1Evpa3nenngscHi7b07upUvjKFzHMmRit/v3NSp4fEBPXRgSAODk0oE0GpQj9bztbKcatVLJpOVJOVypZfpiMdjchwp70Rj7KfjuL8zXnm91q2lyl+Kd6z/PKmU2wU6Nja26nNNTk6qpaVF8Xh8wf2/+MW9uv32H+qcc/apv39T8XzPec51+sQnPqbPfObf9OxnP7e45Mn+/Q/rnnvu0rXXXqdkMrXs67v75GaXvQ76+6uzO8daBB7sbNt2jDGHJF0Q9LkBYC1ODM1/AG9eZtuwXZs79PNHBjSbyevgiQmds72rFsUDVpRMxqq2lddaJZPV+YOnq6tb27fv0He+85/aunW7ent71dzcoquvfvqSz7nnnrt0003/oKuuulpbt25XMpmUbT+kb33r62pqSumd73zXguN37tyt3/zN1+iTn7xFb3vbm3Tddc/X2NioPve5f1d3d4/e+Mbfrcp7C0Pgwc4YE5N0tqSTQZ8bANbCW7uuvSWptpbkksft2jy/ft3+o6MEO0SC4zjau6077GIs4FSp9fAv/uK9uummG/WRj/yz0um0Nm/esmyw27lzl8499zz9+Me3a3h4WJnMnDZs6NfznvcCvepVr9P27TvOeM4b3/gWbdq0WV/60uf0wQ9+QC0t7l6xb3rT72rTpsbZUrDsYGeM6bNte6jEQ38iqVfSJ8suFQAE4OiAu5tEf0/Lssd1tjVpQ3ezBkfTevjQiJ7/lF21KB6wrEZcU/HSSy/Tj3501xn3n3/+hfrQhz626vPs3n2W3vvev13Ta1uWpZe+9OV66Utfvqbn1ZtKWuzebYy5UtL3JB2S1Cp3VuzzJD0sqTE2XQNQl3L5vI4XWuw2di8f7CTpnG3dGhw9qf1HRpXJ5pVMrM9xdgDqWyWfXN+TNCrp1ZL+UdL7JG0vfL3ctu3hyosHAOU5PTKjTGEgdP8qlifYU+h+ncvmdYD17ADUqbJb7Gzb/qqkrwZYFgAIjDe+TpI2rtAVK0l7ts2Pq3v48Ij27YjW2CYAWA36GgA0pGOF8XWStKFr5WDX2dak/kKX7cGT7I4IoD4R7AA0pGOFFru+rmY1JeMrHO3asqFN0sJlUgCgnhDsADSkY4NusNtaCGur4XXZDozMKJNd/aKrABpfRNaJXhHBDkDDmcvkdGrYbXXbsoZgt6mwiHHecXR6dKYqZQPmWcXdTxB97hp+0di3dzkEOwAN58TQtLz/LtfWYjc/e/Yk3bGoskQiqXw+q2w2G3ZRsIJsNqN8PqtEYumFzqOCYAeg4Rz1TZzY0reWFrv5SRYnh6eWORKoXHOze22OjQ0S7iIsm81obMzdj6GlZfWfJ2EJfEsxAAibN3EiHrO0sadFQ2Ozq3pea7O79djUTIYWO1RdKtWs1tZOTU+Pa3DwmGKxhCzLkhX93j5J7k4OUvW2GQub47jvLZ93Q3dra6eamppDLtXKCHYAGo7XYrext1Xx+No6JjZ0NbvBbphgh+qyLEsdHd1KpZo1MzOlbDYjqX5CUiLhzjbPZBqztdGyJMuKqampTS0tbWpqai6G2Sgj2AFoON6M2C19K+84sdiGrhYdOjmhk8PTchynLj7IUb8sy1Iq1aJUauW1FqOmpzAmdWSEP4KihDF2ABrKXDavkQm363UtM2I92za2S5Km0lnNZFjyBEB9IdgBaCj+rcTWMiPWs7mPmbEA6hfBDkBD8c+ILSfY+feVPTHEzFgA9YVgB6ChHD3tBrumZEw9nWufwdbX1aJYzB1Xd2KQYAegvhDsADSUI6cnJEmbe9sUK2PiQzxmqbcjJYkWOwD1h2AHoKF4rWz+xYbXqq/Lfe5xxtgBqDMEOwANIz2X1fh0RtJ8OCtHX5fbhTswMqNsjpmxAOoHwQ5AwxgcTRdv93amyj5PX2FsXt5xdHpkpuJyAUCtEOwANIyBsfkQ5rW6lcPf2neC7lgAdYRgB6BhLGyxqyTYzT/XHxYBIOoIdgAahhfCkomY2luSZZ+nJZVQW+H5tNgBqCcEOwANY3jc3Uqsq72p4j1evYWKWcsOQD0h2AFoGKdH3Ra77vbyJ054NnYXgt3QlBzHqfh8AFALBDsADcFxHA2MBBfs+gstdlPprCZmMhWfDwBqgWAHoCFMzGQ0m8lJkno6yp844dnY01q8fZJxdgDqBMEOQEPwz4gNssVOkk4OE+wA1AeCHYCGMOhblqS7o/Jg19uRkjf9YnAsveyxABAVBDsADWFg1BfsAmixi8dj6mhrkiQNjxPsANQHgh2AhjBQ6IptbU4o1RQP5JxdBDsAdYZgB6AheF2xlWwltlhXoeVviGAHoE4Q7AA0BG8cnH+f10p5EyiGx2eVZy07AHWAYAeg7uXzjoa8YFfBHrGLeefK5R2NTc4Fdl4AqBaCHYC6NzyRVi7vtqgF2RXb0zk/CYNxdgDqAcEOQN3zr2EXZLDr9bX+Mc4OQD0g2AGoewO+NewCbbHr8LfYzQZ2XgCoFoIdgLrntdhZCmY7MU9LKqGmpPsxSYsdgHpAsANQ97ylTrram5RMBPexZlmWutrcVjvG2AGoBwQ7AHXPW5y4N8BuWE9Xu7tIMS12AOoBwQ5A3fPG2AW51InH255siP1iAdQBgh2AujaXyRXXmOutQrDzdp+YSmeVnssGfn4ACBLBDkBd83eRBrnrhKe70BUrMTMWQPQR7ADUtRHfjhAbuoNvsduyoa14e2ya3ScARBvBDkBdGxj1r2EXfIud/5y02AGIOoIdgLo2MOIGu3jMKs5gDVJ3e5Msy709yAQKABFHsANQ17yw1dORUsxLYAGKx2NqbykseeLb4QIAoohgB6CueQsHd/m2/wqa1xJIix2AqCPYAahrwxNu2OpuC74b1tPZ5rXYEewARBvBDkDdyucdjU64M1W99eaqwb+tWD7vVO11AKBSBDsAdWtsak55xw1a1Q12botdLu9obIolTwBEF8EOQN0amZhffqS7CjNiPZ0LFimmOxZAdBHsANStkYn5kFWLrlhp4U4XABA1BDsAdWvY12JXjTXsiuduY1sxAPWBYAegbnldsfGYpbaWZNVeJ9UUVyoZd19zkmAHILoIdgDq1mgh2LW3JquyOLHHsix1F9bJY8kTAFGWCPJkxpiYpDskXSHpu7ZtPyfI8wOAn9d61tlavW5YT09HSqeGpxljByDSgm6x+z1JFwR8TgAoyeuK7aji4sQeWuwA1IPAgp0x5mxJ75X07qDOCQBLcRynuPRITVrsCrNuJ2cySs9lq/56AFCOIFvsbpb0gKSbAjwnAJQ0MZNRNucuTtxZgxa7nk7/kidMoAAQTYEEO2PMGyQ9XdIbbNvOB3FOAFjOiC9cddSgxc4fHkeZGQsgoiqePGGM2Srp7yV9wLbtX1RepDP19LRW47R1Kx538zj1shD1Ulqj1sujJyaKt3u7Ukom44rF3JmxyWRs2e8tS7KkVR+fTMbU191SfL25vNNw9Sk17rVSKeqlNOolmoJosfs/koYk/Y8AzgUAq+KfndrZVr1dJzz+nS1G6IoFEFEVtdgZY35d0kskXWvb9kwwRTrTyMh0tU5dl7y/jqiXhaiX0hq1Xo6dGpfktr6lEnFlMjlZhUWEM5n8st87juRIyuedVR2fyeTV1iw1N8WVnsvp+OmJhqtPqXGvlUpRL6VRL2fq7+8IuwjlBztjTErSByX9p6SDxphzFh3SUrhvwrbtUxWUEQDO4LWadbY1FbtMq62jtUnpuZniMisAEDWVdMW2SOqX9FxJjyz6J0lPLdz+QCUFBIBSvH1iu9ur3w3r8dbLG52cq9lrAsBaVNIVOyXpFUs89jlJ90t6j6RDFbwGAJQ0EkKw62x196NlViyAqCo72Nm2nZH0+VKPGWMk6bRt2yUfB4BKOI5TDHZdNQx2GwozY8cm5xSPx5TLsboTgGgJeksxAKi6TN7RbCYnaeHCwdXmbSuWdxyNT2dq9roAsFoVr2NXim3btRnJDGBdGp2YH+NWy65Y/2uNTKTVlmqr2WsDwGrQYgeg7gz71rDzWtFqoat9fvcJZsYCiCKCHYC6MzzhC3bt1d9OzNPV5m+xI9gBiB6CHYC6M+zb+aEWu054OtqaZBUGmoz4Wg0BICoIdgDqjtcV296SVDJRu4+xeMxSW7O75MkIS54AiCCCHYC64wW7rhp2w3o6Wt3XZL9YAFFEsANQd8LYdcLTUVikeGSCrlgA0UOwA1B3RootdmEEu0KLHZMnAEQQwQ5AXZmdy2kqnZUUblfsVDqrucIiyQAQFQQ7AHXFP2khzK7YxWUBgCgg2AGoK/5lRjrbat9i1946/5qjdMcCiBiCHYC6MuwLU2F0xXb6WuwmZtgvFkC0EOwA1BV/mOqq4eLEng5/i93k3DJHAkDtEewA1BUvTKWScaWa4jV//VRTvLgo8jBr2QGIGIIdgLrirR/X7usSrSXLstTV5i15wlp2AKKFYAegrngTFvxdorXW2cZadgCiiWAHoK54Yaq9JZwWO2l+YWSCHYCoIdgBqBuO4xTDVBRa7EYnZuU4TmjlAIDFCHYA6sbkTEa5vBukOkIaYyepOMYuk8sXd8EAgCgg2AGoG/7lRdrDbLHzrZ9HdyyAKCHYAagbo74tvDrCHGPnWz+PYAcgSgh2AOqGfwuvUFvs2vyLFBPsAEQHwQ5A3YhMi107+8UCiCaCHYC64Y2xa21OKJEI7+MrEY+ptTlRKBPBDkB0EOwA1A0vRHW1hdcN6/GWW2GMHYAoIdgBqBtjU26LnbdAcJh6O90yjE7NrXAkANQOwQ5A3fBax/xj3MLihUvG2AGIEoIdgLqQzzsaK4yx8y83EpbuQrAbn5pTNpcPuTQA4CLYAagLE9Nzyhe27+qMRIudWwZHKgZOAAgbwQ5AXfDvOhGFFjv/OD9mxgKICoIdgLow4gtP0Rhjx7ZiAKKHYAegLoxGLNh102IHIIIIdgDqgn/2aWeI24l52lqSiscsSQtbEwEgTAQ7AHXBG2PX3ppUPB7+R1fMstTe6m5rxpInAKIi/E9HAFiFKO064fFaDkeZFQsgIgh2AOrCfLALf0asp6ONbcUARAvBDkBd8FrForCGncdrsWOMHYCoINgBiLxsLq8Jb5/YCHXFbuhukSTNzuWUzTshlwYACHYA6sDMXE5ebOrqiE5XbE+Hf8kTxtkBCB/BDkDkLdx1IjotdgsXKU6HWBIAcBHsAESef3KCfyuvsPnLwgQKAFFAsAMQef7WsCi12Pl3nxgeJ9gBCB/BDkDkeQsAW5bUHoFdJzypprhSybgkthUDEA0EOwCR5y0n0tHaVNzGKyq83SdGxhljByB8BDsAkeeNX+uMUDesp6PQgjjMGDsAEUCwAxB5o5EOduwXCyA6CHYAIq8eWuxGJ2eVd1ikGEC4CHYAIi2TzWtyJiMp2sEul3eKu2MAQFgIdgAibcw32zRKS514vK5Yid0nAISPYAcg0kZ8wS7KLXYSixQDCB/BDkCkRXXXCY8/2E0UuowBICwEOwCRNj49H5ai2BXb1pKQt7IeLXYAwkawAxBpXlhKxC21NidCLs2Z4rHY/CLFBDsAISPYAYi04cKODh2tTbKsaO064fG6iP172gJAGMr+89cYs0HS30l6kqTtktokHZd0p6S/tW37F4GUEMC65rWCdURoj9jFvEkdtNgBCFsl/Rrdks6V9B1JhyRNSdot6XWSfmaMeYFt29+utIAA1rdii10Ex9d5ugh2ACKi7GBn2/ajkp66+H5jzIckHZb0p5IIdgDKlnec+V0nfOvFRY3XYjc5k1Emm1MyEQ+5RADWq2qMsTslaVpuix4AlG1yOqNc3t2mK8pdsV3tvrXsWKQYQIgqnmJmjElK6iqca6ekP5DUIelrlZ4bwPrm79qMdLBrm19fb3RiVhu7W0IsDYD1LIi1A66S9D3f92OS3i/pPQGcW5LU09Ma1KkaQjzuNrRSLwtRL6XVc708emKieLunM6VkMq5YzJ0Zm0zGit/7by9+rNT3liVZ0qqPX+m1eruai+XMOPVZ11J9XyvVRL2URr1EUxDB7heSrpWUkrRP0qvlttilJGUDOD+AdWpofH75kChuJ+bx74gxNMaSJwDCU3Gws217RO7MWEn6ujHm43LD3tmSfqXS80vSyMh0EKdpGN5fR9TLQtRLafVcL8dOjUtyW9iakwllMjlZSXdiQiaTL37vv734sVLfO47kSMoXxu+t5fmlHmtNxZWIW8rmHJ0YmKjLupbq+1qpJuqlNOrlTP39HWEXIfjJE4Wg91VJzzPG7A76/ADWD/8adl7XZxRZllUcA8iSJwDCVK2dJ7yRwz1VOj+AdcALSd2+rs6o8rqKRwl2AEJUdrAzxmxa4v7dkl4qdxLFQ+WeHwBGC0uH+JcTiaq+wgQKljsBEKZKxtj9qTHmWknfkHRQ7pCV8yS9RlK7pNfats0oYgBlq6cWu56O+f1i846jWET3tQXQ2CoJdl+TtE3S9ZI2Fs51onD//7Zt+6eVFw/AejUzm9XMrDuxvrsj+sHOC5/ZnKPJ6UykZ/ECaFyVbCn2Hc3PhgWAQI1Ozo9V66qDFjt/+ByZmCXYAQhFtSZPAEBF/LNLu+tgjJ2/u5iZsQDCQrADEEkLgl09dMUuaLFjeDGAcBDsAESSP9jVQ1dsR2uTvKX2hmmxAxASgh2ASPKCXUsqoVRhl4coi8VYpBhA+Ah2ACLJC0f1sIadp6ONYAcgXAQ7AJE0UpgV29UW/W5YT1ch2NEVCyAsBDsAkVRcnLijflrsOostdmk5jhNyaQCsRwQ7AJGTzeU1MeVtJ1Y/LXZesJvL5IuLKwNALRHsAETO2OScvPaurjpa6Ne/KDHdsQDCQLADEDnjM5ni7Z7O5hBLsjabN7QVb09MZ5Y5EgCqg2AHIHL824l111FXbJ8vhNJiByAMBDsAkTM87l+cuE67YsfZfQJA7RHsAETOSCEUxWOW2luSIZdm9RLxmNqa3fLSYgcgDAQ7AJEz7Fuc2LKskEuzNp1tbrAbocUOQAgIdgAix+vGrKelTjzetmK02AEIA8EOQOQUtxOro6VOPN44O8bYAQgDwQ5ApOQdpyFa7KbTWaXnWKQYQG0R7ABEysTUnHJ5d3ni7o46DHa+VsYRumMB1BjBDkCk+MemddfRUieezlaCHYDwEOwARIp/bFpPR/3sOuHppMUOQIgIdgAipV4XJ/Z0tM6vuzfOtmIAaoxgByBSRqfcYFdvixN7kom4WpsTkqThCWbGAqgtgh2ASBkqtNh1ttXf4sSeruKSJ3TFAqgtgh2ASBkec1u5OutwDTuPt0wLa9kBqDWCHYBIGRpvhGDnlp1txQDUGsEOQGRkc3mNTnpdsfW3hp3Ha7Ebn84ok82HXBoA6wnBDkBkjE7OynHXJq7rFjv/+nteUAWAWiDYAYiMBUud1HGw82+Fxlp2AGqJYAcgMvzLg9Rzi50/2LHkCYBaItgBiIwRX4tdPQc7f1fsCEueAKghgh2AyPC6YlNNcTU3JUIuTfmamxJqbopLmp/lCwC1QLADEBleCOppr98ZsZ75texosQNQOwQ7AJHhjUfr7qj/YNfX1SyJFjsAtUWwAxAZ3gzSns7mkEtSud5Ogh2A2iPYAYiEuUxOE9MZSVJPA7TYee9hOp3VzGw25NIAWC8IdgAiwb/eWyMEu15fqyOtdgBqhWAHIBL84acRxtj1dPrWsiPYAagRgh2ASPDPHm2EFrueDl+L3RjBDkBtEOwARIJ/h4buRljupK1JMcuSJA2x5AmAGiHYAYgEr8WurSWppmQ85NJULhazirtnMMYOQK0Q7ABEgtdi1wiLE3u6Owh2AGqLYAcgErwWu0aYOOHpavN2nyDYAagNgh2ASPDCTyNMnPB424qNTMwqm8uHXBoA6wHBDkDoptNZpedykhqrxc7rinUcaXSSCRQAqo9gByB0jTYj1rOlr614e2wqE2JJAKwXBDsAoRufng89PV31v0+sp6+L3ScA1BbBDkDo/KGnt4G6Yns6WaQYQG0R7ACEbrgQeixrfsJBI0gl42pJJSRJgwQ7ADVAsAMQOq/FrrO1SfGYFXJpgtXVXljLbmwm5JIAWA8IdgBCNzhaWOqks3Fa6zzeWna02AGoBYIdgNANjLqtWb2djTNxwlPcVmwsLcdxQi4NgEZHsAMQqkw2X1ycuBGDndcVO5vJaSqdDbk0ABodwQ5AqIbG0/LasfoaaKkTj9cVKzEzFkD1Jcp9ojFmr6RXSrpW0h5JHZIOSfqOpL+xbftEICUE0NAGR+cnFTRyi53kbpu2a3NHiKUB0OgqabG7QdI7JR2X9LeTfBRDAAAgAElEQVSSfl/STyS9RdIvjTHnVl48AI1uwBfs+how2HX6WuwGWaQYQJWV3WIn6fOS3m/b9ojvvo8YY34i6cOS3iPpVyspHIDGNzTh7qEaj1nFiQaNpK05oUTcUjbnaHRyLuziAGhwZbfY2bZ916JQ5/l04esTyj03gPXDa7Hram9SrMHWsJMky7LUXdhNgzF2AKqtGpMnthW+nq7CuQE0GC/Ydbc3Xjesp6fdC3YsUgyguirpil3K+wpfPxbUCXt6WoM6VUOIx908Tr0sRL2UFvV6GSgsTtzblVIyGS+22iWTsVV/v5ZjJXfrMkuqyWslkzH1drVIR8c0PDEb2Z+DFP1rJSzUS2nUSzQF2mJnjHmXpJdJ+rKkTwR5bgCNZ3J6TlMzGUlST0cDt9gVdtQYmZjVXCYXcmkANLLAWuyMMf9d0v+UdJukV9q2HdgS6yMj00GdqiF4fx1RLwtRL6VFuV4OnZwo3u5sbVImk5OVjEuSMpn8qr9fy7GS5DiSIymfd6r+WplMXp2t85NCHj88ok290WzhiPK1EibqpTTq5Uz9/eEvZxRIi50x5h2S/lHSdyW9wLZtfsoAVuRf6sSbYNCIen174LJnLIBqqjjYGWPeKekDkr4l6YWEOgCrNeCbTNDd3rjBzr+jxmlaNwBUUUXBzhjzp5LeL+lrkl5q2zZ/igJYNW/iREsqoZZUNeZyRUNXe0qJuDuZ4vQoM2MBVE8lW4q9RdJfSzol6YuSXmGM8R8yadv2lysrHoBG5m0n1og7TvjFCmvZDY6mdXqEYAegeir5E/nywtdNKr20ySG5s2MBoCRvjJ2/q7JR9XY2u8GOFjsAVVR2sLNt+3WSXhdYSQCsK/m8U5xI0Nfd+MFuc2+b9h8e1cDIjBzHkWU13i4bAMJXjZ0nAGBFo5OzyhWWG+nragm5NNW3scd9j3PZPHvGAqgagh2AUPiXOtmwDrpiN3QzMxZA9RHsAITCmxErrY8xdhu651slGWcHoFoIdgBC4bXYWWrs7cQ8vZ3N8obVMTMWQLUQ7ACEYrCwOHFXe5OSicb/KErEY8VFmAdosQNQJY3/aQogkryu2PUwccLTU1iv7xQtdgCqhGAHIBReq1Vvgy9O7NdX2DP2dGHJEwAIGsEOQM3NZnIam3KX/FgPEyc8XovdzGxWU+lsyKUB0IgIdgBqzluYWFpfwc6/dRoTKABUA8EOQM2NTs4Wb/uXAWl02zd1FG8PT6SXORIAykOwA1Bz/taq9bA4scfbfUJiAgWA6iDYAai5E0PuzgupZFydbU0hl6Z2Usm42luSkuiKBVAdBDsANXdiaEqSu82W5a3au04UlzwZZlsxAMEj2AGoOS/YbexpDbkktdfT4S55cor9YgFUAcEOQE2l57IaHncnT/T3rJ+JE57ewvZpY5NzSs+x5AmAYBHsANTUqeH5sWUb12Gw81rspPndNwAgKAQ7ADV1YniqeHvjOlrqxNPTOR/sTtMdCyBgBDsANXVyaD7MrKc17Dw9Hb5FikeZGQsgWAQ7ADXlrd/W1dakpmQ85NLUXksqodZUQtLCHTgAIAgEOwA15a1ht562ElvMe++sZQcgaAQ7ADWTdxydLCx10te1/rphPV4XNGvZAQgawQ5AzYyMz2oum5dEi50kDY2lNZfJhVwaAI2EYAegZvwzYvs612+w29TrLszsaL5rGgCCQLADUDP+GbHruSt2c+/8jhvHB6eWORIA1oZgB6BmThTGlKWScXW0JkMuTXj6e1oUK2yRe4xgByBABDsANeO12PX3tMiyrJBLE55EPKbewjg7WuwABIlgB6BmThZa7Datw63EFtvY43bHHhucDLkkABoJwQ5ATaTnshqZmJUkbfSNMVuvtm9slyQNjqY1y8xYAAEh2AGoiVPD84vxbiLYaeuGNknezFi6YwEEg2AHoCb8S50Q7KQtfW3F28cGCHYAgkGwA1AT/qVO+rsZY+fOjHUnkDCBAkBQCHYAasKbONHTkVJTMh5yacKXiMeKO1Cw5AmAoBDsANSEt8OCNxsU0sbC7GBa7AAEhWAHoOryjlPc8H5TL92wnv5CsBscSys9lw25NAAaAcEOQNWNjM9qLpuXRIudn78u2DMWQBAIdgCqzttKTJI29xHsPGdt7SzePjkys8yRALA6BDsAVXfo1ETxtrcwL6TNva2KFzaNPTbADhQAKkewA1B1h066wa6nM6XW5mTIpYmOeDym3s7CzFjWsgMQAIIdgKo7dHJckrS9n9a6xbw1/Y7SYgcgAAQ7AFU1OZPRwGhakrStv22Fo9efDYVgNzSW1swsM2MBVIZgB6CqjvjG123dQIvdYv5dOJgZC6BSBDsAVXXo1HwXIy12Z/IHu2ODdMcCqAzBDkBVHT7ttti1NifU2dYUcmmip7ezuTgz9uQwS54AqAzBDkBVHSm02G3ubZVV2PQe82Ixq7i12NHTtNgBqAzBDkDVzGZyOj7kLuOxuY9u2KVs3eDWzYET43IcJ+TSAKhnBDsAVXN0YFJeTtncy44TS9mxqUOSO4N4cCwdcmkA1DOCHYCqOeybOEGL3dJ2bJqfLXzgxHiIJQFQ7wh2AKrG23Ei1RRXT0cq5NJE19YNbYoVxh8ePDGxwtEAsDSCHYCqOVxYw25bfxsTJ5aRTMS1sdedQEGLHYBKEOwAVEU2l9fRwv6nbCW2st1bOiVJh05NKM8ECgBlItgBqIrBsbSyubwkaXthcgCWtnuzG+zSczmdZAcKAGUi2AGoCv+OEzs20mK3kp2b58Mv3bEAykWwA1AVh0664SQes1jqZBW29LUqEWcCBYDKJCp5sjHmTyRdIulSSXsk5W3bruicABrDwcKM2M19rYrH+RtyJfF4TJv72nT09KQOnqTFDkB5Kv20/RtJz5V0RNKpyosDoBHk805xqZNtTJxYNa+uDp+eLI5PBIC1qDTYnWPbdo9t28+SZAdRIAD179jglGZms5KkXZuZOLFa2/rdRZwz2byOFWYUA8BaVBTsbNt+LKiCAGgcj/sG/3vLeGBl+3b2FG8fHphc5kgAKI2BLwAC98iRUUlSSyqhjT0tIZemfmzua1UqGZckHWRmLIAy1MVEh54eZtT5eQPRqZeFqJfSwqiXR46OSZJ2bupQU1NCsZilZDKmZDKuWMyd+Rnk92t9rmVJllST11rL9zFZ2rKhTQdPjOvgyYmaX8v8DpVGvZRGvUQTLXYAAjU4OqOB0RlJC9dmw+p44+wOnZzQbCYXcmkA1Ju6aLEbGWEVdj/vryPqZSHqpbRa18tdD85PkN+6oU2ZTE5WMq5MJl+8LSnQ79f6XMeRHLmzd6v9Wmv9flOvG+zyeUf32ad1zrauIH4sq8LvUGnUS2nUy5n6+8P/Y5YWOwCBerTQDZuIW9rS1xZyaeqPv84OHGecHYC1IdgBCNSjxwrj6zZ3KMHCxGvW3d6k9pakpPm6BIDV4lMXQGBmZrM6fNpdmPjsrbXrQmwklmXpnO1u3T10aER5xwm5RADqSaVbir1a0q7Ct7skWcaYd3uP27b9vkrOD6C+PHZ8TF4OObuGY8MazZ7tXfr5I4OanMno+MCUtm9k9w4Aq1Pp5IkbJF2z6L73+m4T7IB1xBtfJ0lnbenU1Ew2xNLUrz2+UPzQ4RGCHYBVqyjY2bb9jIDKAaABeOvXbe5tVVtLkmBXpv7uFnW0JjUxnZF9eFTXXrYj7CIBqBOMsQMQCCtm6fHjbrCjG7YylmUVt2KzDzPODsDqEewABOLI6UnNZvKSCHZBOG93ryRpKp3VyeGZkEsDoF4Q7AAEYv/h0eLts7d2hliSxrBvZ3fx9sOHR0IsCYB6QrADEAi7ED4625rU19UccmnqnzfOTpIeOjgccmkA1AuCHYCKZXN53f/4kCR3RqdlWSGXqP5ZlqVdm92Wz4dZzw7AKhHsAFTskSOjSs+5G9aft7sn5NI0jl2b3X0np9JZHT09GXJpANQDgh2Aiv2y0FVoWdK5uwh2QfFa7CRp/1G2FwOwMoIdgIr9/JFBSdK2/na1NidDLk3j6OlIqau9SZLbHQsAKyHYAajI6ZFpnRialiTt3d69wtFYC8uydE5h6ZiHD40on2ecHYDlEewAVOQXjw0Vb+/dQbAL2p7tbrCbns3q0KmJkEsDIOoIdgAqct+jbjdsd0dK/d0tIZem8ezbMT9m8Z79AyGWBEA9INgBKFt6Liv7iLsw8QVn9bLMSRV0d6S0c5M7O/ae/QNyWPYEwDIIdgDK9uDBEWVzbtC44Oy+kEvTuC7eu0GSdGJoWscHp0IuDYAoI9gBKNt9j7ndsMl4TPsYX1c1T9zbX7x9N92xAJZBsANQFsdxdF9h4sQ5O7rUlIyHXKLG1d/Tok29rZKku22CHYClEewAlOX40LRGJ+ck0Q1bC5fsc1vtjpye1PDEbMilARBVBDsAZfG3HF1wFsGu2p64b7479q6HT4dYEgBRRrADsGZ5x9GP7jsuSdq+sV19Xc0hl6jxbelrVW+nW88/e+hUyKUBEFUEOwBrtv/wqAbH0pKky87dGHJp1gfLsor78D52fFzD4+mQSwQgigh2ANbsxw+6LUaxmFUc+4Xq84KdJP3ct+MHAHgIdgDWZHYuV+wK3Lu9W20tyZBLtH5s6WtTT0dKknTXQ4yzA3Amgh2ANbl7/2ml53KSpIvP2RByadYXy7J00R53oop9eESnR6ZDLhGAqCHYAViTHz/gtta1tySLG9Sjdp58/iZJkiPpv+45Fm5hAEQOwQ7Aqg2NpfXggWFJ0pPO3ah4jI+QWtvS16ZzCoH6R/edUHouG3KJAEQJn8oAVu2OB07K24L+8gs2hVqW9ewZl26XJE3PZostqAAgEewArJLjOLrj/hOSpC0b2rS9vz3kEq1fF57dp+72JknSd+8+KsdxVngGgPWCYAdgVR47Pq5TIzOSpMvP3yTLskIu0foVi1m6+onbJEnHB6f0yLGxkEsEICoIdgBW5dbbD0qSkvGYLj+fbtiwXXXRFiXibrj+9s+OhFwaAFFBsAOwogMnxnX/4+6CuFdcsEkdrU0hlwhtLUldeLa73Mw9+wc0MDoTcokARAHBDsCKvnnnYUlSzLJ0zaXbQi4NPE8+r7D0iSPd9vPjIZcGQBQQ7AAs6/jglO5+2N3l4MI9ferpaA65RPBs6m3V2ds6JUn/dfdRjU3NhVwiAGEj2AFY1jd/ckiOJEvSUy/cEnZxsMi1T94pSZrN5PT1Hx8MtSwAwkewA7CkwdGZ4jppF+/doA3dLSGXCIvt3dGtvTu6JUm33XtMQ2PpkEsEIEwEOwBL+tZPDytfWCPt2st3hlwaLOWFV50lScrmHN16x4GQSwMgTAQ7ACUNjKX1g1+4A/LP292jHZs6Qi4RlnLW1k5dcHavJOlH953U0DitdsB6RbADcIa84+hjX39Q2ZwjS9Lzn7o77CJhBV6rXd5x9MUfPB5yaQCEhWAH4Aw//MVx2YdHJUlXXbxFuzZ3hlwirGRbf7vOP8tttfvJL0/qyOnJkEsEIAwEOwALjE7O6nPfe0yS1NGa1POesivkEmG1rnniNsUsyZH08W8+rGwuH3aRANQYwQ7AAp/5r0c1PZuVJP3KlbvV3JQIuURYrb6uFj2tsIfsgRPj+mphGzgA6wfBDkDRzx8d1J0PusubPHHvBu3b0RNyibBWv3LlLm3d0CZJ+vqPD+qRo6PhFghATRHsAEiSxqbmdMs3HpIktaTievkzzwm5RChHIh7Ta55/nhJxS44j3Xzrg5optMACaHwEOwCazeT0j5/7hSamM5Kklz/zHHW1p0IuFcq1dUNbcZbs4Fhan/6vR0MuEYBaIdgB65zjOPrkf9g6dHJCknT1E7bo8vM3h1wqVOoZT9qus7d2SXJnOX+/sCYhgMZGsAPWuW/fdVR3/PKkJGnnpg696OqzQi4RghCzLL3wqrPU1pKUJP3rNx/WXQ+fDrlUAKqNYAesY/fuH9BnC9103R0pvfwZ5yge52OhUXS2Nen1LzpfTcmYHEkfufUB2YdHwi4WgCriExxYp+544KT+6Uv3K+84SsQtvf5FFxRbd9A4dmzq0A0vukCxmKVsztEHv3C/TgxPh10sAFVCsAPWGcdx9M07D+ujtz4ox5GSiZhueNEF2rmZvWAb1Xm7e/XK64wkaWY2q/f/v3v02LGxkEsFoBoIdsA6ksvn9e/ffUSf+57b/drcFNebXnqhLji7L+SSodqefN4mPeeyHZKk8ak5/d2/3aufPnQq5FIBCBpLygPrxMjEbGGMlbtgbXd7Sr/2nH3avYV9YNeLp1y4RV0dTfrSbY8pk8vr/37lAZ0amdELr9wly7LCLh6AABDsgHXgXvu0/uHT9xbXqdvS16o3v+wiZTJOyCVDrV154RZt6m3Vx259UOm5nL70g8d16OSEXnntPvX0tIZdPAAVoisWaGDT6Yxu+dqDes/HfloMdU/c26+3veJi9XQ0h1w6hOXcXb36/d+4RN2FRajv2T+gP7v5J/r67QeUyxP2gXpGix3QgDLZvH5w33F95YcHNDnjBrqmZEy/9ux92rW5U03JeMglRNi29LXpt154vm6756ju3T+g9FxOH/3qA/r+vUf18mv2aO+2LrpngTpEsAMayMxsVj954KS+9dMjGhidKd5/1tZO/eZzjTb1tur08MwyZ8B60tac1CuvM7rigs36zHf2a2RiVo8cGdPffuoe7dnWpec/ZacuPmeDYgQ8oG5UHOyMMS+T9E5JF0mak/QjSX9m2/Z9lZ4bwMocx9GBExP60f0n9OMHTmp2Lld8rL+7Rc+6bIeuvGgz/zljSeef1as3vuRC3b3/tL5/zzFlsnk9dmxMN33hfm3ta9MV52/Uk8/bpM29jMEDoq6iYGeMuUHSRyX9UtIfS0pJequk240xV9u2/YvKiwhgsUw2p4cOjej+x4f180cGNTSeXvB4T0dKz37yDl110RaNT2foUsOKkom4XnT12Xr2ZTt0291H9f17jyk9l9PxoSl96YcH9KUfHtDOTR16kunXeTt7dNbWDsVjDNMGoqbsYGeM6ZF0o6Sjkq6ybXu8cP9nJD0o6SZJTw+ikMB6lnccDY7O6ODJCR08OaFHj47p4MlxZXMLB7nHLOmCs/t0wVl9utT0qznFSAusXUdrk15w1Vl6wp5+PXhoSPfaAzo+OCVJOnxqQodPTehLklpSCZ27s1tnb+3Ujo0d2rGxXd3tTfwRAYSskk/+l0jqlHSjF+okybbto8aYz0q6wRiz27btgxWWEWho+byjyXRGk9MZjUzMamg8raGxtIYnZnVscErHByc1l8mXfG48Zmnn5g5dfM4GXWo2qrsjpdPDM4rF+M8VlUk1xfXMS7fruit26dTwtH748+N65MiITgy525HNzGZ17yODuveRweJz2luS2tzXqo3dLdrU06L+nhb1tKfU05FSd3uKSTtADVQS7K4ofL2jxGN3SLpB0uWSDlbwGutKLp/XdDq74L6SCw8k3O6P8anZJY9xVrFigbOKg0od4pR6RWfZb0vfV+LkJUu0mnM70kzODT9jY+kSR5R+4mrLlM87yjuOco7j3i78c7/X/H2Oo0w2p7lsXnPZvLLZnOYyjjLZvOayOaXncpqezWpqJqOpdEaTM1lNpTOly1tgWZZSTe5/iHHL0sbeFp29tUt7tnVp785uTU5l1dWRLP6nGbMsWZbkNZzECre9qOd//Mxjq/d9tM69dJ2E+T6i8lqLv9/c16pnXLJdL3n6WUrPZrX/yKh++fiwjp6e1OjkrDyZXF5HTk/qyOlJldKcjKu1JanWVFwtTQm1NCfU0hRXS1NSzam4mhKWkom4EomYkvGYkoWviURM8bgly7IUsyzFLCkWW/S95X0vWTGr8B7m7y+XZUn5wvPHJpb4bKmSsFo/V/uyTnzh/0XS/O9UVV+41FPLfF5LKq5EvLH+4LBW8597KcaYWyW9UNL5tm0/tOix50r6D0l/YNv2jWWWrV/S6TKfCwAAEJaNkgbCeOFKRr5606NmSzyWXnQMAAAAqqySrtjpwtdUiceaFx1TjkG5ibfS8wAAANSC16A1uOxRVVRJsDta+Lpd0kOLHtu+6JhyOAqpGRMAAKAMU2EXoJKu2J8Wvl5Z4rGnFr7+rILzAwAAYA0qCXZfljQh6Q3GmE7vTmPMdkm/KulHtm0fqLB8AAAAWKWyZ8VKkjHmjZI+LHfniQ9LapL0NrkzWp9m2/a9QRQSAAAAK6so2EmSMeZ6SX+kM/eKZTsxAACAGqo42AEAACAa2MEZAACgQRDsAAAAGgTBDgAAoEEQ7AAAABoEwQ4AAKBBEOwAAAAaBMEOAACgQRDsAAAAGgTBDgAAoEEkwnhRY8y1kl4m6RJJT5DUIunVtm1/qoxzvUzSO3Xmlmb3lTg2IekPJP22pN2ShiR9RdK7bdseKuvNBMwYs0vS30i6VlK7pP2S/sm27ZtX+fy/kvSXKxy23bbtY4XjnyHpe0scd7dt25et5nWrqdI6KZxjuS1WOmzbnlx0fKukv5D065K2SDoh6dOS3mPb9vTa3kF1BHCt7JX0ysLz90jqkHRI0nck/Y1t2ycWHf8MReRaWcvv/RLPX9PPN4hrsBYqqRdjzIskvUTSlZJ2SkpLelTSzZL+1bbt7KLjPy7ptUuc7m22bf9TmW8jcBXWy+sk3bLEw1+wbfv6Es95gqT/KelquXuo3y/p72zb/mJZb6AKKqyTg5J2LXPId2zbvtZ3/MdVB9eKMeZP5OaSS+V+JuZt215zTgr78yWUYCf3P5NXSnpQ7gV/eTknMcbcIOmjkn4p6Y8lpSS9VdLtxpirS+xXe4ukV0n6mqT/JTfc/Z6kpxtjnmLb9kQ55QiKMWa7pJ9I6pL0j5IOSHqRpI8YY3batv3nqzjNF+V+GC+2S9L7JN3jhbpFPiLph4vuCz3sBlQnnh/KfZ+LpRe9ZlzSNyRdI+mTkn4g98PvDyVdYYx5jm3bubW+lyAFVC83SHq7pK9L+pykaUlPkfQWSa80xlxl2/bDJZ4X6rVSxu/94uev6ecb8DVYNZXWi9wANyP3j90HJHXK/Y/pXyS9zBjzItu2S/2B9OoS9/20vHcRvADqxfPXkh5adN+hEq93sdyQNCvpA5IG5P6/8wVjzOtt2/6Xst5IgAKok9+TG0AWe5Wk6yR9dYnnRfpakRuuRiXdK/f99a/1BFH4fAkr2P2ZpDfbtp0u/DW05mBnjOmRdKOko5Kusm17vHD/Z+QGxpskPd13/LPkXnRftW37Jb77fyrpy5L+SG7CDtNfS9os6eW+v+xuNsZ8UdKfGmP+1bbtR5Y7QeGvrVKtle8t3CwVbCTpx+W0mNZAxXXi8/gq3+Nr5f5S3mTb9tu9O40xj8v9xXutpI+t+h1URxD18nlJ77dte8R330eMMT+R9GFJ75H0qyWeF9q1stbf+yWs9ecb5DVYFQHVy6skfdcf3owx/yjpNkkvkPQrcv/DWiCinxuSAqsXz7dt275tFcfdJKlN0jNt276r8Hr/IukOSTcaY75g2/bomt5IgIKoE9u2v1zivDG5jQdpuYGm1PMie60UnGPb9mOSZIy5TWUEO0Xg8yWUMXa2bR+zbTu98pHLeoncvyg/6l2YhXMflfRZSU8zxuz2Hf+awtcbF5XlK3JbuF6jEBWabq+XdKBEc/2NkuJyWznLOXdc0m9JmpL078uVwRjTXM5rVEM16sQY02SM6VjhMO9a+MCi+z8stw4b4lqxbfuuRaHO8+nC1ycsV4aQrpW1/t6XsuqfbzV/LwNWcb3Ytv2dxS1yhZaFzxW+LXk9GGMsY0xn4XMmaoK4XoqMMe3GmKZlHt8t6WmSvu+FusLrZSV9sFCWl67xPQQt0Drxea7cnqHPLRVcI36tyAt1FQr986WeJ09cUfh6R4nHvPv8LYFXSMrLbfJc7MeSdhljNgZXvDW7SO5Ywx+XeOxOSTmV2WUt9y/tbZI+4/9FXuR/y73oZowxB4wx7zbGJMt8vaAEXSfXy+1uHDfGDBljPmqM2eQ/wBhjSbpM0nHbthd0sxT+GLlH0mWF48JSzWtFcq8VSTq9xONhXitr/b1foIyfb7XrOigV1csKVroeRiWNSUobY75vjHl2ma9TDUHWy1ckTUiaNcY8aIz5nRKfA9X8OQSlWmV8feHrcuPConytVCwqny/1HOy2F74eLfHY0UXHeLcHbdueXeXxtbbk+7FtOyP3Q7Xc8r2h8LVUN2xG7pjDP5H0YklvknRE0nslfbnQvB6WIOvkZ3K7Fq+XO87ja3In0dy5KNz1yu1GKXVdeWVpk9SzytethmpeK5LbnSKd2d0chWtlrb/3i63151vtug5KpfVSUmH8z5skjcgdsuJ3Sm4r1O/KbYX6K0nnS/q2MeY31/paVRJEvUzLbcX+A7ljn94qKSvp/0j6UBVer9oCL2OhUeTFkh62bXvx+FupPq6VIETi86XsMXbGmHa5H/Cr9QXbtu8t9/VKaC18LRXU0ouO8W6X6nZa6viyVFAvy70fyS3jmstnjNki6fmS7rdt+87Fj9u2fbvcDyv/c26W+0H2q3KD0GfX+rqLzhd6ndi2vfivnk8ZY+6U9M9yZxG/pXD/al7TO254Na+9lCjUS4kyvUvujPUvS/qE/7FaXCursNbf+7U8f/E5hld5fMWfGwGotF7OULg+vyK32+7ltm0vuN5t2/7jRU/5inFnP94v6SZjzJds255Zy2tWQcX1Ytv2Z7XoujbGfFjS9yW9yRhzi++zdcnXs217zriz88O+XgK/ViS9TlJSS7TW1cm1EoRIfL5UMnmiXe4kiNV6VO5Mk6B4U4ZTJR5rXnSMd7vUsUsdX65y62W59yO5ZRwsozy/JffnvOpp07ZtO8YYb+D8C1T5f9ZRqxPPh+T+5fgC332reU3/cZWIVL0YY/673CUabpP0yiVmQC5QhbJPmhsAAAX2SURBVGtlJWv9vV/L80udo9rXYFAqrZcFCqHuG3KXfnirbdtfWs3zbNs+Vpgo8IdyZ1gvtTxOrQRaLx7btrPGmL+W24L9fLndZsu+XmFsnlXO6wWsGnVyg9wlU/51tU+I4LUShEh8vpQd7GzbPin3Ig2Lv8l48RT0Us2bRyXtM8akSnTHLtc0vSYV1MuSTeCF8UsbJf18LScs9OPfoGVmKS3jYOFrObOCFohSnSwql2OMOSTpAt/dw3J/2ZZq/t4ud3zZUq2/a3n9yNSLMeYdcgf7flfSi0uttbSMg4WvFV8rq7DW3/vF1vrzreo1GKBK66WoMLnom5KeKukttm3/3zWW5WDhay2uh5UEVi8lHCx89b/P5boyA/t/pkKB1okx5hpJ+yR92rbttYaQg4WvUbhWghCJz5d6HmPnrX1zZYnHnlr4+rNFx8c0P3DU70pJh2zbXmpwcC3cL3cNqVLv5wq5s2PWut7PsyWdrWVmKS1jb+HryTU+L0jVqJOiwpiws+V7j4VWqrskbTXuopH+41NyF668azWtWVUUaL0YY94pN9R9S9IL1xjqpNpeK2v9vV+gjJ9vVa/BAFVULx5jTJek/yyc5/VlhDopGp8dnkDqZQml3udqXi/s6yXoOvHGcJezmG6UrpWKReXzpS6CnTFmjzHm3EV3f1nuDKU3GGM6fcdul9st9CPbtg/4jvdarP5g0blfLOkcrb1FK1CF/0y/KOks464I7vcOubNjFixVskS9+K04S8kY01fivoTcLjlp6YUmqy6oOin1Hgv+RO5g18XvseS1IncQeZsa6FoxxvyppPfL7VJ66XLLEEXkWln1731hSZZzC+NM/Vb98y2nrkNScb34Qt2TJb3Otu0l12o0xrSVWu7GGLNPbi/Bac13T4YpiHopdd23an6Hn1u9+wvnul3SM4wxT/Idn5C7GPiE3HGLYQrid8h7To+kl8sdJlKyK7WOrpU1ifLnS1hbij1B7gwayR3DIUkvMfNr53zVXrityXflro9T7LaybXvEGPOHcteGub0wmLVJ0tvkBta3+54v27a/Y4z5d0m/YYy5Ve4v125Jvy/pYUl/H9gbLN+7JD1H0icLHwoH5NbTi+Ru8WQvOv6MevEYYzZI+m9aepaS51vGmBOS7pZ0TO5Cib8ut3vyswr/QyiIOnm3MeZKuR88h+QORr1W0vPk/uzfs+gct8hda+hthf/sfiB3Da/flbvjwseDenMVqLhejDFvkbs45im5Hy6vMMb4nzO5aCHS0K+VNf7eXy73Z/4JuYO7PWv9+a61rmsuoHr5jtylGr4iyTHGvGrRy9zn+1zeK+mbxpivSHpE0qTcWY43yB0v9KolViCoqYDq5X5jzA/lLvx+Su52a68tfP37EpMC3y73mvoPY8w/yB0j9Uq5gflNS6wdWTMB1YnnVXLHgX10mV6MurhWJMkY82rNb5W2S5JljHm397ht2+/zHR7Zz5ewdp64VO4SCX7XF/5Jbr/zivvV2bb9EWPMsNxdI/5OC/e7K7UlymvlNn3+ltzZkMOSPiV3r9il1nerGdu2DxcCyF/LTffennFv1tI7RizlNXJ/WVdqHv+83Ivod+VOwZ6WW0dvkPQvIXc5BlUn35N0ntxlTjbIXc/wMbnLevydvWgrOdu2c8aY58vdieTXJP2G3L3+bpS711+o24lJgdWLN1N4k0rvpHFIC5e4iMS1Usbv/eLnr+nnG/DvZdVUWi9yQ53kLmD7khKP/w/Nfy6flBsEr5Fbf61yW15ulRt27in3fQQtgHr5d7nv89lyt32akPvHzTts2/5Cide7xxhzldyW7D/S/F6xr7Bt+/MBvKWKBVAnntfLXfrl48scUzfXitywec2i+/xZ5X1aQRQ+XyzHCfX/bQAAAASkLsbYAQAAYGUEOwAAgAZBsAMAAGgQBDsAAIAGQbADAABoEAQ7AACABkGwAwAAaBAEOwAAgAZBsAMAAGgQBDsAAIAGQbADAABoEAQ7AACABkGwAwAAaBAEOwAAgAZBsAMAAGgQ/x+IYF6WCPMbXQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 720x480 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x480 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAGqCAYAAACGQAkwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAASdAAAEnQB3mYfeAAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzt3XmcJHVh//93X3P3XLuz97ILC3w4BAVRBLlUkHgbg0m8zReN+WpiDhMTE3/RqNFoviEmagygQaNGAQ8QRVAIeKBy30cB6+6yy+7O7Nz3TB/1+6O6empme3Zmuqu7qmteTx48ZqanuvrTn6mpfc/njNm2LQAAANS/eNAFAAAAgD8IdgAAABFBsAMAAIgIgh0AAEBEEOwAAAAigmAHAAAQEQQ7AACAiCDYAQAARATBDgAAICIIdgAAABFBsAMAAIgIgh0AAEBEEOwAAAAigmAHAAAQEQQ7AACAiEgGXYAjiElaW/h8MsiCAAAALENL4WO/JDuIAoQ52K2V1Bd0IQAAAFZonaRDQbwwXbEAAAAREeYWu2L366FDY0GWI3S6upyW3qEheqi9qJfSqJfDUSelUS+lUS+lUS+H6+lJu58GVim02AEAAEQEwQ4AACAiCHYAAAARQbADAACICIIdAABARBDsAAAAIiLMy50AAFB38vmcJifHND09pYA2H6iJkREnQmQy2YBLUk0xJZMpNTW1qrGxSbFYLOgCLYlgBwCAT2zb1tDQIWUyM4rFEkokotsxls3mgi5C1eXzeU1PT2h6ekItLe1KpztDH+4IdgAA+GR6elKZzIyam9vU3t4d+hBQCTe05nL5gEtSXdlsRiMjA5qcHFVjY5MaG5uDLtIRRfdPCQAAamx62tlwoB5adrA8yWRKHR1rJUlTUxMBl2ZpBDsAAHySz+cUjycUjyeCLgp8lEwmFY8nlc1mgi7KkirqijXGHGlUaNqyrPFKzg8AQD2x7bxiMdpMoshpgQ3/ZBg/xtj9XNIVJR6f9uHcAADUFXpgo6lefq5+BLvfWJb1dR/OAwAAgAr4MivWGNMgqdGyrDE/zgcA1RKLx/T5ax/U2OSs3nrR8WprTgVdJKwSqVQilBMqbNtWJhP9pUtWCz+C3SWS3iopYYwZlPQ9SX9nWVavD+cGAF/9+K69uvWevZKkeEz6w9ecHHCJsFrEYjE99eywMpnwLA+SSsV13ObOsp9/33336H3v+0P97d9+RK985Wt8LBnKVWmwu1vStyU9KalN0kWS/o+kC40xZ/oV7rq6Wvw4TWS4awdRL/NRL6VRL45YTBocmdb3fraz+NivH+3Veadt1tmnbpId/jHRVce1UtpK6mVkJKlsNldyYeJ4PKZsNq/9h8Izr3DzujbF47GyFlL2Nj56zzE2Nqarr/6GTj/9DJ1++hnLPt+tt/5Ev/71L2VZT2jXrp3KZrP6z//8sp773NMOO3bv3md088036q677tSzz+7T5OSENmzYqBe84Ey9/e1/oLVrew57Tjab1Te/+XX94AfX68CB/ero6NC5516g97znveroWDrcxmIxJZOJ0P9+VBTsLMt64YKHvm6MuVPSFyR9RNJ7Kzk/APjp3655QNOzTpdTQyqh2UxOn//2QzrpmDXqaG0MuHRA/TnttNN1++2/UjI5FyfGx8f05S87cypXEuy+851r9OijD2vHjmO1bdt27dz59KLH3nDDdbrmmm/p7LPP0UtfeqGampr0yCMP67vfvVY33/wjXX75f2n79qPnPecf//GjuummG/XiF5+rN7/5bTpwYL+uvvp/9MAD9+nKK7+q1tbWFb77cKrGzhNflPRRSa/y64RDQ5N+nSoS3L8WqJf5qJfSqBfHbw6M6sGn+iVJzzturU4z63TVDx7T5HRWX7j2If3J75yibDY8XWRB4FopbSX14u6bWmo3hkQiLtuW8iFqHrZtKZ+3y9o9IpGIKxaLK5l0xqm653A/rvS8f/d3H9XatT1KJpP68pcv186dTyuXK32O889/qd70prervb29+NhrXvPbOumk5+if//mTuuKKL+rjH/+n4vfuvfdu3XTTjTrnnPP0T/90WfHxE044SR/60F/q61//qt71rj86YvmcsYjZI14HPT3pZb/favF9sR3LsmxJeyQd3g4KAAHI5fP66o+ekCSlknG94YJj9fwT1unE7d2SpLsf79WvHmVYMLBS9913j8455wzdeOMNkqQbb7xBb3zjayVJV111pc455wydc84ZuuSSpcffbdiwcV7L35GccMJJ80Kd68ILXy5J2rnzqXmP33TTDyVJv/d7b5n3+LnnXqAtW7YWvx8FvrfYGWPiko6RdNDvcwNAOX724AHt7XPGNb3sjC3q7miSJL3iRdu0t3dM41MZ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\n",
      "text/plain": [
       "<Figure size 720x480 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "last_state_dict = copy.deepcopy(net.model.state_dict())\n",
    "\n",
    "Nsamples = 10\n",
    "\n",
    "for idx, iteration in enumerate(savemodel_its):\n",
    "    \n",
    "    net.model.load_state_dict(save_dicts[idx])\n",
    "    weight_vector = net.get_weight_samples(Nsamples=Nsamples)\n",
    "    fig = plt.figure(dpi=120)\n",
    "    ax = fig.add_subplot(111)\n",
    "    symlim = 1\n",
    "    lim_idxs = np.where(np.logical_and(weight_vector>=symlim, weight_vector<=symlim))\n",
    "    sns.distplot(weight_vector, 350, norm_hist=False, label='it %d' % (iteration), ax=ax)\n",
    "    ax.legend()\n",
    "\n",
    "    ax.set_xlim((-symlim, symlim))\n",
    "\n",
    "\n",
    "net.model.load_state_dict(last_state_dict)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "a\n"
     ]
    }
   ],
   "source": [
    "print('a')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Weight SNR"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(2395210,)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "Text(0.5,1,'SNR (dB) density: Total parameters: 2395210')"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 600x400 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "name = 'Bayes_By_Backprop'\n",
    "\n",
    "# mkdir('snr_weights')\n",
    "SNR_vector = net.get_weight_SNR()\n",
    "np.save(results_dir+'/snr_vector_'+name+'.npy', SNR_vector)\n",
    "\n",
    "print(SNR_vector.shape)\n",
    "\n",
    "fig = plt.figure(dpi=100)\n",
    "ax = fig.add_subplot(111)\n",
    "\n",
    "sns.distplot(10*np.log10(SNR_vector), norm_hist=False, label=name, ax=ax)\n",
    "# ax.set_xlim((-2, 2))\n",
    "# ax.hist(weight_vector, bins=70, density=True);\n",
    "\n",
    "ax.set_ylabel('Density')\n",
    "ax.legend()\n",
    "plt.title('SNR (dB) density: Total parameters: %d' % (len(SNR_vector)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(2395210,)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "Text(0.5,1,'SNR (dB) CDF: Total parameters: 23928000')"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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qd2WHXPMiV1/p1IpNtpoE3bd9es88cRj7LHHXgBcffXlfPGLK3DZZVeTSCSibRWuIXnxxRc4/fQT2XvvfTniiKk90r/61a9x1FHHArDJJpsxZ84sbr31ZnbffS/i8fBD0NnZyZFHTmXrrRcd36effooZM17lwgsvZbPNtojW35wDDtiXm266rltQMnfuHKZNu44VVlgRgC9/eXW++91v8tBD93e9J1kyFGueyS5WLYVU06AHJcAywG/zlmVfbws8CSToWdaLCR1bjwG+QJhmfhd3f7lmJV3CjBgxgiuvvB6A9vZ23F/nxhuvIZlMcsopYQ665557hltuuZGZM99mwYIFXet+8MF7XT+au+02malTD+edd95m1VUn8vzzzzJ79qyuH/gPPniPjz/+iGOOObGrFgNggw02JBaL4T6DVVedyOqrr8Htt/+SG2+8li233IrVVrOuH9FqvqeRI0cxadIOPPDAvV1ByQMP3Mu6667HyiuvUtb+Lr30KkaNGkVnZ4p3332HG264hjPOOJmLLrqs62T+yisvc8MNV/PGG878+Z/mHMP3AWhtbeXVV19hypSjugKSYp577hmmT3+UAw88hAMPPLRgnq222jbv9SQeeeQhPvnkE5Zddtmu5ZtvvkW3fP/4x99pahrZFZBA6KOz7bbb88tf3kwqleoq3yqrTOwKSABWWGFFVlllIq+++rKCkiVIX80zS3ZvGRkMgx6UuPu79HFXO3ffpsCyDHBh9JAKxONx1lhjra7X6623AZ2dnVx55aV885vfpq2tldNOO4Ett9ya/fc/kDFjwh1ep0w5iLa2RU0qG2zwVVZccSUeeOAejj76BO6//x7WX/8rXX0m5s2bB8AZZ5xUsBzZJooDDjiEWCzGww8/wM03X8+YMWPZa699OPjg75U8nLev97TqqhMB2H33yRxxxCG89dabTJiwNM888/848cTTyjh6wWqrrd7V0XWdddZl1KhRnHnmqTz33DNsvvkWfPzxx5xwwlTWWGNNTj75dCZMWJphw4Zx8snH0d7eBsBnn80nnU4zYcLSfe7v6af/xIgRI9hhh52K5hk7dmzB17Nnz+oKShoaGmhsbOzWge2zz+Yzbty4HtsbP348nZ2dtLS0dPXtyd9Hdtns2bP7fA+yeCi1eSamm5JKFQ16UCL1JVtTMHPm27z11puMGjWKH//4Z101Fh9//FHB9XbddU9uv/1Wvv3t/Xnuuac59dQzu9Ky/SaOP/4U1l67570Wsz/Gw4cP59BDp3DooVP46KN/ce+993DTTdex/PJfZKedvtFjvUreUzYoWWed9VhllVV54IF7WXbZZUkmhzFp0g4V72PRvlYF4J133mLzzbfgz39+lpaWhfzkJxd29V/p7OzsVmMyatRo4vE4s2b9t8/tH3308dx7790ce+z3ufLK61hmmS/0yDN37tyCr8ePn9C1rFCQ19zczJw5c3osnz17NslksqtDcqF9ZJeZrdHne5DFi5pnZCDpUyXdzJz5NgBLLTWS/ESFAAAgAElEQVSGtrZWkslktx+wRx99qOB6O++8KwsWfM4555zJiBEj2HbbRRN8rbTSyiyzzBf48MN/s8Yaa/V4FKohWGGFFZky5Siam5fivfferdp7yrXbbpP54x8f4r777mG77Xagqan/N1p8552wr2ztSVtbG7FYrFvn2ccfn04qtegk39jYyNprr8vDDz/QbXkhDQ0NXHTRZYwZsxTHHHMks2fP6pHnT396Iu/140yYsDTLLLNMr9teb70NWLhwAc8//2zXsnQ6zRNPPMY666zXrWlp5sy3u5qfIDRFzZz5NmutVdINvkVEClJNyRCWTqd55ZXQBaezswP3Gdxyy42svPKqbLDBV+noaOc3v7mDSy65gK222pZXXvknjzzyYMFtjR07li222JonnpjO7rtP7jZjZywWY+rU4znnnB/Q2trCZpttQWNjIx9//BHPPfc0hx9+FCuuuBKnn34iZmvy5S8bo0Y18ac/PcX8+Z9262DZ3/eUa6edduGaa6Yxb947nHbamYU21yf3GYwcOYpUKsV7783kxhuvZdy48V39OjbccCMAzj//HPbYYy/effcd7rjjV4waNbrbdo444miOPfYIjjvu+0yevA+jR4/mjTdeZ6mlxrDrrnt0yzty5CguvngaxxwT8l9xxXVdQRDASy+9yJVXXsZGG23CX/7yZx555CFOOOHUPvvnbLbZFqy55tqcd95ZHH74USy99DLcc89dfPDBe5xwwind8o4dO47TTjuBww47gkwGbrjhaiZMWJqdd961ouMoIgIKSqpq2ADfz6O/+2tra+OIIw4GIJFIsMwyy/L1r+/CIYd8j2QyyWabbcGRRx7NXXf9hgcfvI91112fCy64lO98p3BH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\n",
      "text/plain": [
       "<Figure size 600x400 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "name = 'Bayes_By_Backprop'\n",
    "\n",
    "# mkdir('snr_weights')\n",
    "# SNR_vector = net.get_weight_SNR()\n",
    "# np.save('weight_samples_'+name+'.npy', weight_vector)\n",
    "\n",
    "print(SNR_vector.shape)\n",
    "\n",
    "fig = plt.figure(dpi=100)\n",
    "ax = fig.add_subplot(111)\n",
    "\n",
    "sns.distplot(10*np.log10(SNR_vector), norm_hist=False, label=name, ax=ax, hist_kws=dict(cumulative=True), kde_kws=dict(cumulative=False))\n",
    "# ax.set_xlim((-2, 2))\n",
    "# ax.hist(weight_vector, bins=70, density=True);\n",
    "\n",
    "ax.set_ylabel('Cumulative Density')\n",
    "ax.legend()\n",
    "plt.title('SNR (dB) CDF: Total parameters: %d' % (len(weight_vector)))\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### evaluate pruning performance"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [],
   "source": [
    "# net.load(models_dir+'/theta_last.dat')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0, 0.1, 0.2, 0.4, 0.6, 0.8, 0.9, 0.99, 0.995]\n",
      "-inf\n",
      "params: 2395210\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/homes/ja666/anaconda2/lib/python2.7/site-packages/ipykernel_launcher.py:7: DeprecationWarning: Calling np.sum(generator) is deprecated, and in the future will give a different result. Use np.sum(np.from_iter(generator)) or the python sum builtin instead.\n",
      "  import sys\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Delete proportion: 0.000000\n",
      "\u001b[34m    Jtest = 0.101914, err = 0.026100\n",
      "\u001b[0m\n",
      "-23.754547 dB\n",
      "params: 2155689\n",
      "Delete proportion: 0.100000\n",
      "\u001b[34m    Jtest = 0.101037, err = 0.025400\n",
      "\u001b[0m\n",
      "-21.203458 dB\n",
      "params: 1916168\n",
      "Delete proportion: 0.200000\n",
      "\u001b[34m    Jtest = 0.099734, err = 0.026200\n",
      "\u001b[0m\n",
      "-18.622500 dB\n",
      "params: 1437126\n",
      "Delete proportion: 0.400000\n",
      "\u001b[34m    Jtest = 0.098061, err = 0.025300\n",
      "\u001b[0m\n",
      "-15.613606 dB\n",
      "params: 958084\n",
      "Delete proportion: 0.600000\n",
      "\u001b[34m    Jtest = 0.096710, err = 0.025900\n",
      "\u001b[0m\n",
      "-10.936314 dB\n",
      "params: 479042\n",
      "Delete proportion: 0.800000\n",
      "\u001b[34m    Jtest = 0.091702, err = 0.025800\n",
      "\u001b[0m\n",
      "-9.606315 dB\n",
      "params: 239521\n",
      "Delete proportion: 0.900000\n",
      "\u001b[34m    Jtest = 0.089619, err = 0.025600\n",
      "\u001b[0m\n",
      "-5.875002 dB\n",
      "params: 23953\n",
      "Delete proportion: 0.990000\n",
      "\u001b[34m    Jtest = 0.090475, err = 0.025600\n",
      "\u001b[0m\n",
      "-2.408886 dB\n",
      "params: 11977\n",
      "Delete proportion: 0.995000\n",
      "\u001b[34m    Jtest = 0.099591, err = 0.029700\n",
      "\u001b[0m\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiQAAAFkCAYAAAAQQyCBAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4zLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvIxREBQAAIABJREFUeJzt3Xl8VPW9//HXzGRlCUmAgEBYZPkSQGRXa9Uqgtuvt0Wte4va9npvvd723tvNemttvb3t7XbbWttrF6u2iErVai1WQa11LZtsEr5AZAlrWBIC2Ugy5/fHmUmGkITMZJJzknk/H488Ys6c7+E7HyeZz3zOdwk4joOIiIiIl4Jed0BERERECYmIiIh4TgmJiIiIeE4JiYiIiHhOCYmIiIh4TgmJiIiIeE4JiYiIiHhOCYmIiIh4TgmJiIiIeE4JiYiIiHhOCYmIiIh4TgmJiIiIeE4JiYiIiHhOCYmIiIh4Ls3rDvhIBZAJ7PO6IyIiIj3MGUAdkJvoBQKO4ySvOz1bjeM4WeFwcuMRDAZI9jVTnWKafIpp8immyaeYJl+yYhoMBggEArVAdqLXUIWk2b5w2Blz5EhV0i6YlhYkL68vlZXVNDSEk3bdVKaYJp9imnyKafIppsmXzJjm5/clFAp06g6DxpCIiIiI55SQiIiIiOeUkIiIiIjnlJCIiIiI55SQiIiIiOeUkIiIiIjnlJCIiIiI57QOiYiISIoIhx22lFZQUVXHwJwszhnQx+suNVFCIiIikgJW2zIeX76V8mN1TccG/mkTN82bwPRxgzzsmUu3bERERHq51baMB5/deFIyAnD4aC0P/GE9q22ZRz1rpoRERESkFwuHHR5fvrXdcxYv3+r5PkFKSERERHqxLaUVp1RGWjpyrI4tpRXd1KPWKSERERHpxSqq2k9G4j2vqyghERER6cVy+2Ym9byuooRERESkF5tQmEte//aTjfz+mUwozO2mHrVOCYmIiEgvFgwGuOnS8e2ec+Ol4wkGA93Uo9YpIREREenlZpoC7lwwhZy+GScdH5SbzV3XTmWmKfCoZ820MJqIiEgKmGkKGJLXh3sfXkFmepB/v34a55w9gsqj1TQ0hL3uniokIiIiqSIQuSuTnhaiaHQ+IY9v08RSQiIiIpIinMjaZz7KQ5ooIREREUkR4UhGEgj4LyNRQiIiIpIimiokPiyRKCERERFJEc0VEo870golJCIiIikiWiEJ4L+MRAmJiIhIinBUIRERERGvNc+y8V9GooREREQkRWgMiYiIiHjO0bRfERER8Vo4OqjVf/mIEhIREZFUEa2QaB0SERER8Yym/YqIiIjnmiok/stHlJCIiIikiuYxJP7LSJSQiIiIpAgtjCYiIiKec1QhEREREa9pDImIiIh4rmmlVh9mJEpIREREUkTTXjbedqNVfuyTiIiIdIGwlo4XERERrzlaOl5ERES8ps31RERExHNNY0j8l48oIREREUkVGkMiIiIintPCaCIiIuK5sBZGExEREa9pUKuIiIh4TtN+RURExHPNe9n4LyNRQiIiIpIiwj6ukKTF28AYMwH4KXABUAUsBr5qra3pQNuFwN3AaGAb8E1r7ZIW174LmAuMAg4By4F7rLX7W1zrPOB7wCygEngK+Iq1tjre5yQiIpIKes0YEmNMLvAq0B+4BvgicDPwqw60vRZ4BHgWuAJ4BXjSGDM/5rT5wEXAL4GrgHsiP79jjOkXc61RkfbVkX7cA9wEPBbP8xEREUklfh5DEm+F5A4gD5hmrT0EYIxpABYZY75trS1up+39wBJr7d2Rn18zxkwEvgW8HDn2BPCgtdaJNjLGrAfW4SYej0YO3w2UA/9gra2LnFcBLDHGTLfWvhfn8xIREen1etMYkiuB5dFkJOJpoC7yWKuMMWOAibi3d2I9DswxxgwCsNYeik1GIjYAjcCwmGPTgdejyUjEi5HvH+3gcxEREUkp4V60MFoRcFIVJJIUlEQea68dLdsCm4AAbrLSlvOAUIu2WcCJFuc1AM5p+iEiIpKyHB8vjBbvLZs8oKKV4+VA/mna0Urb8sj3VtsaY9KBHwMWeCHmoS3AbGNMIKaiMgc3uWmvH6eVlpa8iUehUPCk79J5imnyKabJp5gmn2KaJJHKSDAU8F1M455lg1uFaCnQxvHTtQ20cTzqZ8AU4EJrbUPM8QeB14DvGmN+CAyNHGsEwh3oR6uCwQB5eX0Tbd6mnJzspF8z1SmmyaeYJp9imnyKaedkZaW73zPTm2Lpl5jGm5CU01ztiJXLqbdjWrYj0vZAi3axjzcxxnwD+DRwtbV2Vexj1tq/GmO+hDsg9su4Scj/4d7G2d/yWh0VDjtUViZv1nAoFCQnJ5vKyhoaGxPOkySGYpp8imnyKabJp5gmR3W1O/Syvr6RysqapMU0Jye705WWeBOSYlqM0TDGZAJjgYdP045I280xxyfhVkdij2GM+RxwH3CHtfb51i5orf2BMebnkX97P25Sc4gOTEFuT0ND8l/ojY3hLrluKlNMk08xTT7FNPkU085pbIzckHCcpiTELzGNN51ZCsw1xgyMObYAyIw81ipr7XbcpOP6Fg/dCKyInbVjjLkBeAC411r7y/Y6Y62tttZusNYeBD6FewvoqTiej4iISMoI+3hhtHgrJA/hrqT6nDHmfqAA+BGwKHYNEmPMb4CF1trY69+LuxBaCbAM+BjuQmiXx7S7CHdxszeAZcaYc2PaH7TWlkTOGwMsBP4eeewS4AvA7dbaU27/iIiIiL8XRourQmKtrcB9868CnsFNRhYDn21xaijyFdt2CXAbcC3wEm4ycr219uWY0y4G0omsztri6+sx59UDH4n8208DHwYWWGt/F8/zERERSSVhHy+MFvcsG2vtFuCy05xzK3BrK8cfpXm11dba3Yc7duR0fdiNm5CIiIhIBzm9aGE0ERER6aGaN9fzuCOtUEIiIiKSIqIVEj/eslFCIiIikiLCqpCIiIiI1zSGRERERDynMSQiIiLiOVVIRERExHPN65B43JFWKCERERFJEY6PF0ZTQiIiIpIiwr1l6XgRERHpuRwfb66nhERERCRF9JrN9URERKTn0hgSERER8VxY035FRETEaw5aGE1EREQ8Fg7rlo2IiIh4TINaRURExHOa9isiIiKei1ZItHS8iIiIeCasComIiIh4TWNIRERExHMaQyIiIiKeixRIVCERERER72gdEhEREfGc9rIRERERz4U1qFVERES8pkGtIiIi4jlN+xURERHPaQyJiIiIeC4c+e7DfEQJiYiISKrQGBIRERHxXPPmekpIRERExCPRhdF8mI8oIREREUkVzbNs/JeRKCERERFJEc2zbDzuSCuUkIiIiKSIsCokIiIi4jUHjSERERERj2kMiYiIiHhOY0hERETEcxpDIiIiIp5zwtrLRkRERDwWdjSoVURERDymQa0iIiLiOU37FREREc9pcz0RERHxnMaQiIiIiOc0hkREREQ8p4XRRERExHPhcPSWjf8yEiUkIiIiKaL5lo23/WiNEhIREZEUEZ3268dZNmnxNjDGTAB+ClwAVAGLga9aa2s6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\n",
      "text/plain": [
       "<Figure size 600x400 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "delete_proportions = [0, 0.1, 0.2, 0.4, 0.6, 0.8, 0.9, 0.99, 0.995]# 0.9999, 0.99999, 0.999999, 0.9999999, 0.99999999] # \n",
    "# keep_proportions = 1 - delete_proportions\n",
    "\n",
    "\n",
    "batch_size = 256\n",
    "Nsamples_predict = 100\n",
    "# Nsamples_KLD = 20\n",
    "\n",
    "net.set_mode_train(False)\n",
    "\n",
    "if use_cuda:\n",
    "    valloader = torch.utils.data.DataLoader(valset, batch_size=batch_size, shuffle=False, pin_memory=True, num_workers=4)\n",
    "\n",
    "else:\n",
    "    valloader = torch.utils.data.DataLoader(valset, batch_size=batch_size, shuffle=False, pin_memory=False,\n",
    "                                            num_workers=4)\n",
    "err_vec = np.zeros(len(delete_proportions))\n",
    "\n",
    "print(delete_proportions)\n",
    "\n",
    "for idx, p in enumerate(delete_proportions):\n",
    "    if p > 0:\n",
    "        min_snr = np.percentile(SNR_vector, p*100)\n",
    "        print('%f dB' % (10*np.log10(min_snr)))\n",
    "        og_state_dict, n_unmask = net.mask_model(Nsamples=0, thresh=min_snr)\n",
    "#         print(net.model.state_dict()) # for debug purposes\n",
    "        print('params: %d' % (n_unmask))\n",
    "    else:\n",
    "        print('-inf')\n",
    "        print('params: %d' % (net.get_nb_parameters()/2))\n",
    "    \n",
    "    test_cost = 0  # Note that these are per sample\n",
    "    test_err = 0\n",
    "    nb_samples = 0\n",
    "    for j, (x, y) in enumerate(valloader):\n",
    "        cost, err, probs = net.sample_eval(x, y, Nsamples_predict, logits=False) # , logits=True\n",
    "\n",
    "        test_cost += cost\n",
    "        test_err += err.cpu().numpy()\n",
    "        test_predictions[nb_samples:nb_samples+len(x), :] = probs.numpy()\n",
    "        nb_samples += len(x)\n",
    "\n",
    "    test_cost /= nb_samples\n",
    "    test_err /= nb_samples\n",
    "\n",
    "    print('Delete proportion: %f' % (p))\n",
    "    cprint('b', '    Jtest = %1.6f, err = %1.6f\\n' % (test_cost, test_err))\n",
    "    err_vec[idx] = test_err\n",
    "    \n",
    "    if p > 0:\n",
    "        net.model.load_state_dict(og_state_dict)\n",
    "    \n",
    "    \n",
    "plt.figure(dpi=100)\n",
    "plt.plot(delete_proportions, err_vec, 'o-')\n",
    "\n",
    "np.save(results_dir+'/snr_proportions', delete_proportions)\n",
    "np.save(results_dir+'/snr_prune_err', err_vec)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 72,
   "metadata": {},
   "outputs": [],
   "source": [
    "# aa = net.model.state_dict()\n",
    "net.model.load_state_dict(aa)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Weight KLD"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "results_weight_uncertainty_MC_MNIST_GMM/kld_vector_Bayes_By_Backprop.npy\n",
      "(2395210,)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "Text(0.5,1,'KLD density: Total parameters: 2395210, Nsamples: 20')"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 600x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "name = 'Bayes_By_Backprop'\n",
    "Nsamples = 20\n",
    "# mkdir('snr_weights')\n",
    "KLD_vector = net.get_weight_KLD(Nsamples)\n",
    "np.save(results_dir+'/kld_vector_'+name+'.npy', KLD_vector)\n",
    "print(results_dir+'/kld_vector_'+name+'.npy')\n",
    "\n",
    "print(KLD_vector.shape)\n",
    "\n",
    "fig = plt.figure(dpi=100)\n",
    "ax = fig.add_subplot(111)\n",
    "\n",
    "sns.distplot(KLD_vector, norm_hist=False, label=name, ax=ax)\n",
    "# ax.set_xlim((-2, 2))\n",
    "# ax.hist(weight_vector, bins=70, density=True);\n",
    "\n",
    "ax.set_ylabel('Density')\n",
    "ax.legend()\n",
    "plt.title('KLD density: Total parameters: %d, Nsamples: %d' % (len(KLD_vector), Nsamples))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(2395210,)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "Text(0.5,1,'KLD CDF: Total parameters: 23928000, Nsamples: 20')"
      ]
     },
     "execution_count": 74,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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7PFlP5a0T0FJhWsKSqp6kieRnhWLxZg/v4H3Pp1OQzcPH+1TE2eNFYYwsF+fDteYxONxRoxYs+n5euttwPvvv8sLL0xcaIOS7n5NZqszaNAgAH784/X47LMpvPDCxIUuKKmvr6dv3749nY1Oq9QhwRJJNdWU9HBGRHqBhsYUCxqS3fpX7iCof//+NDY2Nj2/8cbfcdBB+zFq1BbsvvuOnHfemUydOrVp/X33/ZFtt92cOXNm5+zns8+msPnm6zNp0gtNy15+eRJHHHEwI0duxujR23LFFZcyb17zDNiNjY1cf/017LXXaLbZZhN22217Tj31BGbPzt13Z1/TYYf9jAsuOKdFuptvvp5ddtkuJ23HjzWAZDJ3+3vv/QOHH34Q22+/FaNHj+LUU4/ns89a3prtnXfe4oQTjmG77bZi1KgtOeKIg/n731u/kf2HHzqjR4/ioovOI5lM8uabb7D55uvzyiuTOPPMU9h2283Zbbftufvu23O2Gz/+ZkaN2oL33nuHo446lJEjN+WBB/4EwKxZ33HZZRcyevS2jBy5GUcccRCvvZZ755WxY4/k1FOPZ8KEx9h3390YOXIzxo49ks8++7TEUisfBSUVLnPhpJoSESmksbGRxsZG5syZzcSJz/Daa6+w9dY/aVo/Y8Z0fv7zQ7n88qs57riT+OqrLxk79simE/f22+9EKpXmr399Kme/jz/+CIsvvjgbb7wZABMnPsPpp5/ISiutzCWX/Iajjz6WF16YyGWXXdC0ze9/fwcPPfQABx54ML/97XWccMKpDB06lIaGBXREe69p11135/nnn+P7779vWpZMJnnyycfZYYedqakpvhEglUrS2NjIvHnzeOON13nqqSfYeuuROWm+/fZr9tprXy699EpOP/1sUqkURx99GLNmfdeU5q23/sW4cUfR0NDAaaedzcUXX84WW2zF119/VfC477zzFuPGjWGbbbblrLN+lTPE9vLLL2GZZX7IxRf/hu2224lbbrmBhx7Kndy8oaGBCy44h+2334krrriWDTbYmGQyyUknHcuLLz7PEUf8kosv/jWDBy/OiScey5tvvpGzvfsH/OEPdzJmzDjOPvt8pk2byoknjmPBgo69V+Wm5psKlx2MpNJp4gth5zUR6Rrz5s1j6603zlm20067sM8++zc9P/PM85r+TyaTjBixFnvssRNvvvkGG264MXV1dWyzzUgef/wRdt99r6Z04QQ/mpqaGtLpNNdffw0jR47i9NObayiGDBnCqaeewMEHH86KK67E+++/y4YbbsSeezZPF5UdTJTrNY0atQPXXXc1zzzzFHvsEe4s8vrrr/Dtt9+w8867duh4u+66fc7zDTfchKOOGpuz7NhjT2r6P5lMssEGGzF69HZMnPgsu+22JwA33ngtyyyzLNdcc2NTgLHhhrmvI+ONN17njDNOYq+99mPMmLEt1q+77vocc8xxAGy00SZMnz6Vu+++g1133ZN4PNQlNDY2cuSRxzByZHOn2UmTXuD999/lN7+5mk022TzaflMOOmg/br/9FtZdd/2mtDNmTOe6625h2WWXA2CVVVblwAP3ZsKEx5peU09QUFLhklkdXFOpNPGEghIRCfr27cv114fRKgsWLMD9A8aPv4mamhpOPfUsAF555SXuums8kyd/zJw5c5q2/fzzKU0nzV122YOxY4/kk08+ZsUVV+LVV19m2rSpTSf4zz+fwldffcmxx56U0zSyzjrrEYvFcH+fFVdciVVXXY177vk948ffzKabbo7Z6k0n0XK+pgEDBjJy5Cgef/yRpqDk8ccfYc0112KFFYZ36HhXX30DAwcOpLExyaeffsJtt93EmWeewhVXXNM02uedd97mtttu5D//8Zzakc8//wwId+F99913OOqoY9qdVOyVV17imWee5uCDD+Pgg39RMM2WW26T93wkTz01gW+++YZhw4Y1Ld9kk81y0v373/+if/8BTQEJhD46P/nJKO6663aSyeZJz4YPX6kpIAFYdtnlGD58Jd59920FJdK67FE31X1HUxHpqHg8zmqrrdH0fK211on6dVzN3nvvT2PjAk4//US22GIrfvazgxk0aAixWIyjjjqE+vrmavp11lmX5ZZbnscff5hx407kscceZu21f8xyyy0PwMyZMwE488yTC+Yj00Rx0EGHEYvFePLJx7njjlsZNGgwe+65D4ceekTRw3nbe00rrrgSALvuugdjxhzGRx99yNChS/DSS3/jpJNO70DpBSuvvGpTR9cRI9Zk4MCBnH32abzyyktsuunmfPXVV5x44lhWW211TjnlDIYOXYI+ffpwyinHs2BBPQDffz+LVCrF0KFLtHu8SZNepG/fvowa1fpUW4MHDy74fNq0qU1BSb9+/aitrc1J9/33sxgyZEiL/S2++NCmJqqBAwcWPEZm2bRp09p9DV1JQUmFyw5E1NlVRNqTqSmYPPljPvnkQwYOHMgFF1zWVGPx1VdfFtxu9Ojdueeeu9l//5/xyiuTOO20s5vW1dWFmxeecMKp/OhHI1psmzkZL7LIIvziF0fxi18cxX//+zmPP/4It99+C0svvQw77LBzWV5TJigZMWIthg9fkccff4Rhw4ZRU9OHkSNHlXyM5mOF+aA++eQjNt10c1577WXmzZvLxRf/hkUXXRQITSfZNSYDBy5KPB5n6tRv293/uHEn8MgjD3Lccb/k+utvYcklf9CBjWfDAAAgAElEQVQizYwZMwo+X3zxoU3LCgV5dXV1TJ8+vcXyadOmUlNTkxPE5B8js8xstXZfQ1dSR9cKl9N8o5oSEWnH5MkfA7DYYoOor6+npqYm5wT29NMTCm63446jmTNnNueffzZ9+/bNmeBr+eVXYMklf8AXX/yP1VZbo8VfoRqCH/5wWY466hjq6hZjypRPy/aasu2yyx789a8TePTRh/nJT0bRv3/nb7T4ySfhWJnak/r6emKxWE7n2eeee4ZkMtn0vLa2lh/9aE2efPLxnOWF9OvXjyuuuIZBgxbj2GOPZtq0qS3SvPjixLznzzF06BIsueSSbe57rbXWYe7cObz66stNy1KpFM899wwjRqyV07Q0efLHTc1PEJqiJk/+mDXWaBl0difVlFS4/I6uIiIZqVSKd955G4DGxgbc3+euu8azwgorss4665JKNfLHP97DVVddzpZbbsM777zFU089UXBfgwcPZvPNt2LixGfYddc96NevX9O6WCzG2LEncP75ZzF//jw22WRzamtr+eqrL3nllUkceeQxLLfc8pxxxkmYrc4qqxi1tbW89NKLzJr1XU4Hy86+pmw77LATN910HTNnfsLpp59daHftcn+fAQMGkkwmmTJlMuPH38yQIYs39etYb70NALjkkvPZbbc9+fTTT7j33j8wcOCiOfsZM2Ycxx03huOP/yV77LEPiy66KP/5zwcsttggRo/eLSftgAEDufLK6zj22JD+d7+7pSkIAnjzzTe4/vpr2GCDjfj731/jqacmcOKJp7XbP2eTTTZn9dV/xEUXncuRRx7DEkssycMPP8Bnn03hqqtOzUk7ePAQTj/9RA4/fAzpNNx2240MHboEO+44uqRyLBcF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\n",
      "text/plain": [
       "<Figure size 600x400 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "name = 'Bayes_By_Backprop'\n",
    "# Nsamples = 20\n",
    "# mkdir('snr_weights')\n",
    "# KLD_vector = net.get_weight_KLD(Nsamples)\n",
    "# np.save('weight_samples_'+name+'.npy', weight_vector)\n",
    "\n",
    "print(KLD_vector.shape)\n",
    "\n",
    "fig = plt.figure(dpi=100)\n",
    "ax = fig.add_subplot(111)\n",
    "\n",
    "sns.distplot(KLD_vector, norm_hist=False, label=name, ax=ax, hist_kws=dict(cumulative=True))\n",
    "# ax.set_xlim((-2, 2))\n",
    "# ax.hist(weight_vector, bins=70, density=True);\n",
    "\n",
    "ax.set_ylabel('Cumulative Density')\n",
    "ax.legend()\n",
    "plt.title('KLD CDF: Total parameters: %d, Nsamples: %d' % (len(weight_vector), Nsamples))\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### evaluate pruning performance"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0, 0.1, 0.2, 0.4, 0.6, 0.8, 0.9, 0.99, 0.995]\n",
      "-inf\n",
      "params: 2395210\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/homes/ja666/anaconda2/lib/python2.7/site-packages/ipykernel_launcher.py:7: DeprecationWarning: Calling np.sum(generator) is deprecated, and in the future will give a different result. Use np.sum(np.from_iter(generator)) or the python sum builtin instead.\n",
      "  import sys\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Delete proportion: 0.000000\n",
      "\u001b[34m    Jtest = 0.102798, err = 0.027100\n",
      "\u001b[0m\n",
      "-0.877734 nats\n",
      "params: 2155480\n",
      "Delete proportion: 0.100000\n",
      "\u001b[34m    Jtest = 0.100077, err = 0.026300\n",
      "\u001b[0m\n",
      "-0.758681 nats\n",
      "params: 1917274\n",
      "Delete proportion: 0.200000\n",
      "\u001b[34m    Jtest = 0.098881, err = 0.026800\n",
      "\u001b[0m\n",
      "-0.695065 nats\n",
      "params: 1437894\n",
      "Delete proportion: 0.400000\n",
      "\u001b[34m    Jtest = 0.094463, err = 0.025600\n",
      "\u001b[0m\n",
      "-0.664872 nats\n",
      "params: 958624\n",
      "Delete proportion: 0.600000\n",
      "\u001b[34m    Jtest = 0.092095, err = 0.025300\n",
      "\u001b[0m\n",
      "-0.592027 nats\n",
      "params: 479903\n",
      "Delete proportion: 0.800000\n",
      "\u001b[34m    Jtest = 0.094761, err = 0.026700\n",
      "\u001b[0m\n",
      "-0.519773 nats\n",
      "params: 240475\n",
      "Delete proportion: 0.900000\n",
      "\u001b[34m    Jtest = 0.101505, err = 0.029700\n",
      "\u001b[0m\n",
      "-0.359172 nats\n",
      "params: 24377\n",
      "Delete proportion: 0.990000\n",
      "\u001b[34m    Jtest = 0.125262, err = 0.037000\n",
      "\u001b[0m\n",
      "-0.317306 nats\n",
      "params: 12059\n",
      "Delete proportion: 0.995000\n",
      "\u001b[34m    Jtest = 0.132906, err = 0.038200\n",
      "\u001b[0m\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 600x400 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "delete_proportions = [0, 0.1, 0.2, 0.4, 0.6, 0.8, 0.9, 0.99, 0.995]# 0.9999, 0.99999, 0.999999, 0.9999999, 0.99999999] # \n",
    "# keep_proportions = 1 - delete_proportions\n",
    "\n",
    "\n",
    "batch_size = 256\n",
    "Nsamples_predict = 100\n",
    "# Nsamples_KLD = 20\n",
    "\n",
    "net.set_mode_train(False)\n",
    "\n",
    "if use_cuda:\n",
    "    valloader = torch.utils.data.DataLoader(valset, batch_size=batch_size, shuffle=False, pin_memory=True, num_workers=4)\n",
    "\n",
    "else:\n",
    "    valloader = torch.utils.data.DataLoader(valset, batch_size=batch_size, shuffle=False, pin_memory=False,\n",
    "                                            num_workers=4)\n",
    "err_vec = np.zeros(len(delete_proportions))\n",
    "\n",
    "print(delete_proportions)\n",
    "\n",
    "for idx, p in enumerate(delete_proportions):\n",
    "    if p > 0:\n",
    "        min_kld = np.percentile(KLD_vector, p*100)\n",
    "        print('%f nats' % (min_kld))\n",
    "        og_state_dict, n_unmask = net.mask_model(Nsamples=20, thresh=min_kld)\n",
    "#         print(net.model.state_dict()) # for debug purposes\n",
    "        print('params: %d' % (n_unmask))\n",
    "    else:\n",
    "        print('-inf')\n",
    "        print('params: %d' % (net.get_nb_parameters()/2))\n",
    "    \n",
    "    test_cost = 0  # Note that these are per sample\n",
    "    test_err = 0\n",
    "    nb_samples = 0\n",
    "    for j, (x, y) in enumerate(valloader):\n",
    "        cost, err, probs = net.sample_eval(x, y, Nsamples_predict, logits=False) # , logits=True\n",
    "\n",
    "        test_cost += cost\n",
    "        test_err += err.cpu().numpy()\n",
    "        test_predictions[nb_samples:nb_samples+len(x), :] = probs.numpy()\n",
    "        nb_samples += len(x)\n",
    "\n",
    "    test_cost /= nb_samples\n",
    "    test_err /= nb_samples\n",
    "\n",
    "    print('Delete proportion: %f' % (p))\n",
    "    cprint('b', '    Jtest = %1.6f, err = %1.6f\\n' % (test_cost, test_err))\n",
    "    err_vec[idx] = test_err\n",
    "    \n",
    "    if p > 0:\n",
    "        net.model.load_state_dict(og_state_dict)\n",
    "    \n",
    "    \n",
    "plt.figure(dpi=100)\n",
    "plt.plot(delete_proportions, err_vec, 'o-')\n",
    "\n",
    "np.save(results_dir+'/kld_proportions', delete_proportions)\n",
    "np.save(results_dir+'/kld_prune_err', err_vec)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.15"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
